问题标签 [smo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
798 浏览

smo - SMO - 程序集依赖项

我需要使用 SMO 找出注册程序集 (SQLCLR) 的所有依赖项。我怎样才能做到这一点?谢谢,内斯特

0 投票
1 回答
540 浏览

c# - 如何使用 SMO 显示 ndf 文件?

我正在使用 SMO 填充数据库文件日志文件的列表。我正在使用文件组,但它只显示 mdf 和 ldf 文件。我有 ndf 文件也没有显示 ndf 文件??我有什么建议吗?

0 投票
1 回答
469 浏览

sql-server - 重命名 MS-SQL 数据库后的单个用户

我正在使用 SqlServer.Management.Smo 的帮助来重命名附加的 MS-SQL 数据库。

问题是重命名数据库后设置为单用户。

那我做错了什么?

0 投票
2 回答
627 浏览

asp.net - 用于备份 sql db 的 asp .net 页面

我正在尝试创建一个 asp .net 页面来从共享服务器上的远程主机备份和下载 mssql db。我尝试使用 SMO 创建备份并将其保存在与 .aspx 页面相同的文件夹中,但它会引发访问被拒绝异常,后来我发现 sql server 除了其本地备份文件夹之外无权在任何地方写入备份我不能从那里下载。

有没有其他方法可以让这个工作?

0 投票
2 回答
4824 浏览

sql-server - 使用 SMO,仍然不行... ConnectionContext.ExecuteNonQuery(script) 无法理解“GO”

SQL Server 2008

我敢说,使用所有正确的参考资料:

所有编译都没有错误。

为了便于调试,我已将代码精简到几乎为零。

连接服务器正常等等。

执行以下代码:

sqlDBQuery字符串在哪里:USE [master] GO ALTER DATABASE [Cassiopeia] SET ANSI_NULL_DEFAULT OFF GO ALTER DATABASE [Cassiopeia] SET ANSI_NULLS OFF GO

但是“sqlDBQuery”是什么并不重要,我总是得到同样的错误,比如

GO附近的语法不正确

.

我相信 SMO 会处理这个问题,当我看到我ConnectionContext的时候说 BatchSeparator = "GO"

如果我删除 GO,那就可以了……可以这么说,但我真的需要知道为什么我的 SMO 不起作用。

我到处都看到它只是说“像这样使用smo,你就没事了”。嗯……不适合我。

请参阅 Jon Galloway 的这篇文章以供参考: http : //weblogs.asp.net/jgalloway/archive/2006/11/07/Handling-_2200_GO_2200_-Separators-in-SQL-Scripts-2D00-the-easy-way.aspx

问候

0 投票
1 回答
1187 浏览

.net - Microsoft.SqlServer.Management.Sdk.Sfc.Urn

我有 SMO 的 SQL2008 版本,虽然它在内部使用这个类,但我不知道如何将它带入范围,因此我可以声明变量来保存这种类型的值。

是的,我知道我可以将它们声明为对象,但是我仍然无法将它们强制转换为传递类型参数。

我需要向我的项目添加哪些参考,以及我需要将哪些 using 语句Urn纳入范围?

0 投票
2 回答
3979 浏览

smo - SMO:恢复到不同的数据库

我已经阅读了十几个不同的博客,以及阅读了 msdn 示例,但它们对我不起作用。

最终,我要做的是自动将数据库从我们的生产实例移动到我们的开发实例,或其他方向。

因此,我采取的方法是:

  1. 备份/恢复到临时数据库
  2. 分离临时数据库
  3. 将 mdf 和 ldf 文件复制到另一个实例
  4. 重新连接。

我被困在 1 上,我不明白为什么。我读过的所有内容都声称这应该有效。

注意:我已设置dbName为要恢复到的数据库。我也设置了restore.Database = dbName,其中是命名空间中类的restore一个实例。Restoresmo

这是我得到的例外:

文件“D:\MSSQL.MIQ_Dev\MSSQL.2\MSSQL\Data\MIQDesign2Detach.mdf”不能被覆盖。数据库“MIQDesignTest2”正在使用它。
文件“MIQDesign”无法恢复到“D:\MSSQL.MIQ_Dev\MSSQL.2\MSSQL\Data\MIQDesign2Detach.mdf”。使用 WITH MOVE 标识文件的有效位置。
文件“D:\MSSQL.MIQ_Dev\MSSQL.2\MSSQL\Data\MIQDesign2Detach.ldf”不能被覆盖。数据库“MIQDesignTest2”正在使用它。
文件“MIQDesign_log”无法恢复到“D:\MSSQL.MIQ_Dev\MSSQL.2\MSSQL\Data\MIQDesign2Detach.ldf”。使用 WITH MOVE 标识文件的有效位置。
在规划 RESTORE 语句时发现了问题。以前的消息提供了详细信息。

为什么这试图覆盖原始的 mdf?不是RelocateFiles应该指定您希望将其保存到不同的物理文件名的东西吗?

0 投票
1 回答
1076 浏览

sql-server - 通过 SMO 的 SQL Server 数据库角色

我正在尝试通过 SMO 程序集向 SQL 2005 数据库添加新角色。Roles.Add 方法似乎没有添加新角色。我将我的用户帐户设置为 securityadmin 和 sysadmin。

下面是我试图用来设置新角色的代码摘录:[假设 d 已设置为数据库对象]

0 投票
1 回答
740 浏览

c# - 使用 SMO 或 Linq 的 SQL Server CLR 触发器?

我一直在研究为插入创建 CLR 触发器的可能性,但是找到的每个教程都为我提供了使用 ado.net 对象执行逻辑的示例 - 这不是很方便的方式..(我认为我没有说服任何人)

我想知道是否有另一种方法可以做到这一点?小摩?林克?除了普通的 ADO.NET 之外的任何东西?

0 投票
1 回答
727 浏览

smo - Minimum privileges to read SQL Jobs using SQL SMO

I wrote an application to use SQL SMO to find all SQL Servers, databases, jobs and job outcomes. This application is executed through a scheduled task using a local service account. This service account is local to the application server only and is not present in any SQL Server to be inspected. I am having problems getting information on job and job outcomes when connecting to the servers using a user with dbReader rights on system tables. If we set the user to be sysadmin on the server it all works fine.

My question to you is: What are the minimum privileges a local SQL Server user needs to have in order to connect to the server and inspect jobs/job outcomes using the SQL SMO API?

I connect to each SQL Server by doing the following:

I read the jobs by reading smoServer.JobServer.Jobs and read the JobSteps property on each of these jobs.

The variable server is of type Microsoft.SqlServer.Management.Smo.Server. user/password are of the user found in each SQL Server to be inspected.

If "user" is SysAdmin on the SQL Server to be inspected all works ok, as well as if we set ConnectAsUser to true and execute the scheduled task using my own credentials, which grants me SysAdmin privileges on SQL Server per my Active Directory membership.

Thanks!