, 나는 가끔 오류SQL Server 연결은 SQL 문을 실행할 때
을 얻을 특정 저장 프로 시저 떨어클라이언트 :
"An exception occurred while executing a Transact-SQL statement or batch. A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 -The semaphore timeout period has expired)"
SQL 서버 : 내가 관리해야
"2014-02-09 11:02:31.81 Server A fatal error occurred while reading the input stream from the network. The session will be terminated (input error: 64, output error: 0)."
하나의 SQL을 찾으려면 일관되게 새 버전을 배포 할 때 (내가 너무 간헐적으로 다른 오류를 참조하지만) 내가 도망 내 생성 된 데이터베이스 스크립트에서 실패
/*************************************************/
/* [dbo].gspDiscounts_SEARCH */
/*************************************************/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].gspDiscounts_SEARCH') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].gspDiscounts_SEARCH
GO
CREATE PROCEDURE [dbo].gspDiscounts_SEARCH (@DiscountId AS [uniqueidentifier], @DiscountName AS [nvarchar](50), @DiscountDescription AS [nvarchar](max))
AS
SELECT
DiscountId, DiscountName, DiscountDescription
FROM
[dbo].[Discounts]
WHERE
([DiscountId] = @DiscountId OR @DiscountId IS NULL)
AND ([DiscountName] LIKE @DiscountName OR @DiscountName IS NULL)
AND ([DiscountDescription] LIKE @DiscountDescription OR @DiscountDescription IS NULL)
GO
이 동안
/*************************************************/
/* [dbo].gspFolderDataCache_SEARCH */
/*************************************************/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].gspFolderDataCache_SEARCH') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].gspFolderDataCache_SEARCH
GO
CREATE PROCEDURE [dbo].gspFolderDataCache_SEARCH (@FolderId AS [uniqueidentifier], @PerformanceFolderId AS [uniqueidentifier], @ShowFolderId AS [uniqueidentifier], @SpaceFolderId AS [uniqueidentifier], @VenueFolderId AS [uniqueidentifier])
AS
SELECT
FolderId, PerformanceFolderId, ShowFolderId, SpaceFolderId, VenueFolderId
FROM
[dbo].[FolderDataCache]
WHERE
([FolderId] = @FolderId OR @FolderId IS NULL)
AND ([PerformanceFolderId] = @PerformanceFolderId OR @PerformanceFolderId IS NULL)
AND ([ShowFolderId] = @ShowFolderId OR @ShowFolderId IS NULL)
AND ([SpaceFolderId] = @SpaceFolderId OR @SpaceFolderId IS NULL)
AND ([VenueFolderId] = @VenueFolderId OR @VenueFolderId IS NULL)
GO
, 거의 동일한 스크립트마다 작동
데이터베이스 유지 관리 도구에서 SQL을 실행하는이 특정 예제에서는 SQL Server 관리 개체를 사용하여 스크립트를 실행하지만 엔터프라이즈 라이브러리 데이터 액세스 블록을 사용하는 주 응용 프로그램에서 같은 오류가 발생합니다 , 그래서 나는 그것이 C# 코드에 있다고 생각하지 않는다.
SQL Server (SQL Server v2008 R2)와 클라이언트는 모두 동일한 VPC 안에있는 Amazon EC2 서버에 있습니다. 웹 서버가 VPC 밖에 있고 Windows Server 2008을 실행 중일 때이 문제는 발생하지 않았습니다. 두 서버 모두 이제 Windows Server 2012에 있습니다.
실패한 명령문은 작동하는 명령문과 매우 유사하며 클라이언트와 서버 모두에서 네트워크 오류로 표시되기 때문에 중간에 뭔가있을 수 있다고 생각했습니다. ... 두 서버에서 Windows 방화벽을 해제했습니다. 그건 도움이 안된다.
무슨 일이 벌어 질 수 있습니까?
http://support.microsoft.com/kb/325487 –
SQL Server 버전 및 서비스 팩? –
내부 오류와 같은 소리가납니다. 때로는 연결이 끊어집니다. 서버 로그, CHECKDB. – usr