Это продолжающаяся сага о попытке создания локальной среды разработки баз данных с использованием изолированных параметров среды разработки.У меня есть два проекта базы данных, серверный проект, предназначенный для общего экземпляра SQL Server 2005, и проект базы данных, предназначенный для моей базы данных.
Я определил, что локальное развертывание серверного проекта практически невозможно из-за всехразличные имена входа не распознаются на моем ПК и т. д., однако мне нужны связанные серверы из проекта сервера для проекта базы данных.Чтобы устранить проблемы с развертыванием серверного проекта, я отключил развертывание на серверном проекте и добавил эти операторы в сценарий PreDeployment моего проекта базы данных.
IF DB_ID('CreditScores') is null
CREATE DATABASE CreditScores
EXEC sp_changedbowner 'sa'
EXECUTE sp_dropserver N'CREDIT_SCORES_CALENDAR', 'droplogins';
EXECUTE sp_addlinkedserver @server = N'CREDIT_SCORES_CALENDAR', @srvproduct = N'vm-2cbstest', @provider = N'SQLNCLI', @datasrc = N'vm-2cbstest';
EXECUTE sp_addlinkedsrvlogin @rmtsrvname = N'CREDIT_SCORES_CALENDAR', @useself = N'FALSE', @rmtuser = N'cdtscr';
Развертывание базы данных работает до определенного момента, но затемЯ получаю сообщение об ошибке ниже, когда он пытается добавить хранимую процедуру, которая ссылается на связанный сервер.Я предполагаю, что проблема состоит в том, что имя входа, которое хранится в проекте сервера для связанного сервера, имеет пароль, который не устанавливается при его создании, несмотря на тот факт, что он выглядит так, как будто пароль введен. Мой вопросКак я могу назначить этот пароль, не зная пароль?
Creating [dbo].[report_open_close]...
OLE DB provider "SQLNCLI" for linked server "CREDIT_SCORES_CALENDAR" returned message "Communication link failure".
C:\SourceCode2010\CreditScores\Development\CreditScores\TECO.Database.SQLServer2005.CreditScores\sql\debug\TECO.Database.SQLServer2005.CreditScores.sql(150,0): Error SQL01268: .Net SqlClient Data Provider: Msg 10054, Level 16, State 1, Line 0 TCP Provider: An existing connection was forcibly closed by the remote host.
C:\SourceCode2010\CreditScores\Development\CreditScores\TECO.Database.SQLServer2005.CreditScores\sql\debug\TECO.Database.SQLServer2005.CreditScores.sql(150,0): Error SQL01268: .Net SqlClient Data Provider: Msg 18456, Level 14, State 1, Line 0 Login failed for user 'cdtscr'.
An error occurred while the batch was being executed.
Done executing task "SqlDeployTask" -- FAILED.
Done building target "DspDeploy" in project "TECO.Database.SQLServer2005.CreditScores.dbproj" -- FAILED.
Done executing task "CallTarget" -- FAILED.
Done building target "DBDeploy" in project "TECO.Database.SQLServer2005.CreditScores.dbproj" -- FAILED.
Done building project "TECO.Database.SQLServer2005.CreditScores.dbproj" -- FAILED.
Build FAILED.