C# 以编程方式更改SQL Server配置
我想使用以下代码在SQL Server 2012中备份数据库:C# 以编程方式更改SQL Server配置,c#,sql-server,database,sql-server-2012,C#,Sql Server,Database,Sql Server 2012,我想使用以下代码在SQL Server 2012中备份数据库: BACKUP DATABASE aveed_co TO DISK = 'C:\bakup.bak' WITH FORMAT, MEDIANAME = 'aveed_co', NAME = 'aveed_co' 在SQL Server Management Studio中执行此代码后,出现以下错误: Msg 233,第20级,状态0,第0行 向服务器发送请求时发生传输级别错误。 (提供程序:共享内存提供程序,错误:0-管道的另一端没
BACKUP DATABASE aveed_co
TO DISK = 'C:\bakup.bak'
WITH FORMAT,
MEDIANAME = 'aveed_co',
NAME = 'aveed_co'
在SQL Server Management Studio中执行此代码后,出现以下错误:
Msg 233,第20级,状态0,第0行向服务器发送请求时发生传输级别错误。
(提供程序:共享内存提供程序,
错误:0
-管道的另一端没有进程。)
要解决此问题,我必须更改登录类型(在SQL Server配置中),如下所示:
另一方面,我必须将“登录身份”从“内置帐户”(1)更改为“此帐户”(2)
当我将“登录身份”更改为“此帐户”并输入用户名和密码时,SQL Server代码将正确执行
请注意,我有权在c:或任何驱动程序上写入
请帮助我使用C#或SQL Server代码完成此操作 您没有自定义用户对驱动器C:的写入权限。 编辑:
SQL Server必须能够读取和写入设备;运行SQL Server服务的帐户必须具有写入权限 在运行代码之前建立安全上下文;为了运行代码,您如何连接到服务器?您是在编写应用程序还是在使用SSM?您尝试过这些解决方案吗?谢谢大家。。。特别是阿德里安·特里凡
var query = @"BACKUP DATABASE [aveed_co]
TO DISK = 'C:\bakup.bak' WITH INIT
,NOUNLOAD
,NAME = N'aveed_co'
,NOSKIP
,STATS = 10
,NOFORMAT
,COMPRESSION";
using (var connection = new SqlConnection(@"Server=myServerAddress;Database=aveed_co;User Id=myUsername;Password=myPassword;"))
{
connection.Open();
using (var command = new SqlCommand(query, connection))
{
command.CommandTimeout = 0;
command.ExecuteNonQuery();
}
}