我在附加 SQL Server 2008 R2 Express 数据库时遇到问题。我必须通过 .Net exe 来完成。
这是我的代码
string fileName = @"C:\express\createdb.sql";
ProcessStartInfo psiSqlCmd = new ProcessStartInfo("sqlcmd.exe", @" -S .\SQLExpress -U sa -o c:\express.out\txt -i """ + @fileName + @""" -P sa123");
psiSqlCmd.UseShellExecute = false;
psiSqlCmd.CreateNoWindow = true;
psiSqlCmd.WindowStyle = ProcessWindowStyle.Hidden;
psiSqlCmd.Verb = "runas";
Process sqlCmdProcess = new Process();
sqlCmdProcess.StartInfo = psiSqlCmd;
sqlCmdProcess.Start();
这是中的代码createdb.sql
:
USE master;
GO
CREATE DATABASE FishLite
ON (FILENAME = 'C:\Express\FishLite.mdf')
FOR ATTACH;
GO
FishLite.mdf
我在文件中收到拒绝访问错误。如果我在管理权限下运行命令提示符并运行createdb.sql
它工作正常。但是当我通过 c# 代码运行它时,我无法让它工作。
我正在管理权限下启动该过程,但仍然无法正常工作。