2014-11-29 2 views
1

(이 추상적 인 질문이다)SQL 쿼리

가 어떻게이 T-SQL 쿼리에서 현재 연결 문자열을 얻을 수 있습니다 내에서 현재 SQL Server 연결 문자열을 검색?

나는 이런 일에 필요한 의미 :

Select ConnectionString From Something 

하고이 같은 결과를 얻을 :

data source=HAMCKER-PC;initial catalog=CMMS;trusted_connection=true 

가 왜이 필요를?

는 사실 내 연결 문자열을 통해 몇 가지 추가 매개 변수를 전달하려면, 위의 연결이 이런 식으로 생각 :

data source=HAMCKER-PC;initial catalog=CMMS;trusted_connection=true;Area=W9 

내가 필요 내 쿼리에 W9 그.

+0

가능한 한 중복 된 http://stackoverflow.com/questions/25581002/how-to-add-custom-attributes-to-sql-connection-string –

+0

가이드 덕분에, 그것은 dup 사실 –

답변

4

데이터 소스가

SELECT @@SERVERNAME 

초기 카탈로그 사용 얻으려면 : 당신이 이미 있도록 연결했기 때문에

SELECT DB_NAME() 

내가뿐만 아니라 trusted_connection를 찾아 갈 수 있지만이 점을 볼 수 없습니다를 이미 알고있어.

연결 문자열을 사용하여 추가 정보를 전달하려면 옵션이 제한됩니다. 아마도 application name을 사용하고 SELECT APP_NAME() 또는 Workstation ID으로 액세스 할 수 있습니다. 그러나 이것들은 의미가 있으며 나는 그들을 도용하지 않으려합니다.

CONTEXT_INFO를 사용하여 정보를 전달할 수도 있습니다. msdn.microsoft.com/en-us/library/ms187768.aspx, msdn.microsoft.com/en-us/library/ us/library/ms180125.aspx

+0

시간 내 주셔서 감사합니다. SQL Server에 사용자 지정 데이터를 보내려면 테스트했지만 충돌은 발생하지 않지만 문제는 해당 데이터를 검색하는 것입니다. –

+2

클라이언트 API가 SQL Server에 연결 문자열을 보내지 않습니다. 응용 프로그램 이름 및 호스트 이름과 같은 일부 연결 문자열 키워드의 경우 TDS 프로토콜 메시지를 통해 SQL Server에 값을 전달합니다. 다른 값은 서버에서 사용할 수 없습니다. –

+0

"문제는 해당 데이터를 검색하는 것입니다"? "지역"문자열을 의미합니까? 연결 문자열 특성이 아닌 경우 전달되지 않습니다. 더 설명하면 원하는대로 할 수있는 다른 방법이있을 수 있습니다. –