1

我在Visual Studio中創建用戶創建腳本在SQL Server 2008數據庫服務器項目2010的Visual Studio數據庫項目的腳本域名

腳本看起來像這樣...

CREATE LOGIN Domain\User FROM WINDOWS 

我會在我的臺式電腦和筆記本電腦上開發。既不在域上運行,也不能使用本地用戶,例如DESKTOP\TestUserLAPTOP\TestUser

我需要做的是以某種方式在自動設置域名的腳本中注入一個變量。我相信在SQL Server中這是@@SERVERNAME。然後,我可以在我的電腦上工作,腳本也可以工作。目前,如果我運行它說我的筆記本電腦,我得到一個錯誤,因爲DESKTOP\TestUser不是我的筆記本電腦上的Windows校長。

我已經看過.sqlcmdvars文件,我可以在那裏設置一個變量,將其注入到腳本中。不過,我似乎無法得到這種動態如@@SERVERNAME

我也看過從我的post部署腳本運行EXEC,但我得到一個錯誤,說這個命令在這種情況下是無效的 - 我相信這意味着EXEC在VS2010 DB項目中不被接受。

回答

1

您可以使用以下腳本來實現該目的。它對我很好,併爲本地用戶創建一個登錄名:

declare @sql nvarchar(max) = N'create login [' + @@SERVERNAME + N'\TestUser] from windows' 
exec(@sql) 
+0

好主意,但遺憾的是不會作爲Visual Studio數據庫部署的一部分運行。給出錯誤「每個批次只允許一個語句」。 – Remotec

+1

也許你應該保持VS以外的登錄(不在數據庫項目中)。這就是我們正在做的。 – Szymon

+1

是同意的。所有對象都可以在數據庫項目中,然後可以在之後運行權限腳本。謝謝。 – Remotec

相關問題