반응형

sql-server 16

SQL Server의 테이블 및 인덱스 크기

SQL Server의 테이블 및 인덱스 크기 SQL Server에서 테이블과 인덱스 크기를 표시하는데 기본적으로 도움이 되는 SQL 쿼리를 받을 수 있을까요? SQL Server는 테이블/인덱스의 메모리 사용량을 어떻게 유지합니까?sp_spaceused는 결합된 모든 인덱스의 크기를 제공합니다. 테이블의 각 인덱스의 크기를 원하는 경우 다음 두 가지 쿼리 중 하나를 사용합니다. SELECT i.name AS IndexName, SUM(s.used_page_count) * 8 AS IndexSizeKB FROM sys.dm_db_partition_stats AS s JOIN sys.indexes AS i ON s.[object_id] = i.[object_id] AND s.index_id = i.index..

source 2023.04.17

삽입 명령 실행 및 SQL에 삽입된 ID 반환

삽입 명령 실행 및 SQL에 삽입된 ID 반환 MVC 4의 C#을 사용하여 SQL 테이블에 값을 삽입합니다.실제로 값을 삽입하고 ''를 반환하고 싶습니다.마지막으로 삽입된 레코드의 ID'입니다.저는 다음 코드를 사용합니다. public class MemberBasicData { public int Id { get; set; } public string Mem_NA { get; set; } public string Mem_Occ { get; set; } } ID는 삽입 시 데이터베이스에 자동으로 증분됩니다. public int CreateNewMember(string Mem_NA, string Mem_Occ ) { using (SqlConnection con=new SqlConnection(Config.C..

source 2023.04.17

SQL Server - 트랜잭션 롤백 오류 발생?

SQL Server - 트랜잭션 롤백 오류 발생? 다음과 같은 SQL Server 2005에서 일부 SQL을 실행하는 클라이언트 앱이 있습니다. BEGIN TRAN; INSERT INTO myTable (myColumns ...) VALUES (myValues ...); INSERT INTO myTable (myColumns ...) VALUES (myValues ...); INSERT INTO myTable (myColumns ...) VALUES (myValues ...); COMMIT TRAN; 1개의 긴 문자열 명령어로 전송됩니다. 삽입 중 하나가 실패하거나 명령어 중 하나가 실패하면 SQL Server는 트랜잭션을 롤백합니까?롤백되지 않으면 롤백하기 위한 두 번째 명령을 전송해야 합니까? 사용하..

source 2023.04.07

SQL Server의 숨겨진 기능

SQL Server의 숨겨진 기능 잠겼습니다. 이 질문과 답변은이 질문은 부적절하지만 역사적 의미가 있기 때문에 잠겨 있습니다.현재 새로운 답변이나 상호작용을 받아들이지 않고 있습니다. SQL Server의 숨겨진 기능은 무엇입니까? 예를 들어, 문서화되지 않은 시스템 저장 프로시저, 매우 유용하지만 충분히 문서화되어 있지 않은 작업을 수행하는 요령 등이 있습니다. 답들 모든 훌륭한 답변에 감사드립니다! 스토어드 프로시저 sp_msforeachable:각 테이블 이름으로 대체된 ? 명령어를 실행합니다(v6.5 이상). sp_msforeachdb: 각 데이터베이스 이름으로 대체된 ? 명령어를 실행합니다(v7 이상). sp_who2: sp_who와 동일하지만 블록의 트러블 슈팅에 관한 많은 정보가 포함되어 ..

source 2023.04.07

SQL Server 출력 절을 스칼라 변수로 변환

SQL Server 출력 절을 스칼라 변수로 변환 "간단한" 방법 또는 "OUTPUT ... INTO" 구문을 사용하여 테이블 변수를 전달해야 하는 방법이 있습니까? DECLARE @someInt int INSERT INTO MyTable2(AIntColumn) OUTPUT @SomeInt = Inserted.AIntColumn VALUES(12) 테이블 변수가 필요하며 이렇게 단순할 수 있습니다. declare @ID table (ID int) insert into MyTable2(ID) output inserted.ID into @ID values (1) 1년 이상 지나서...테이블에서 자동으로 생성된 ID를 얻으려면 SELECT @ReportOptionId = SCOPE_IDENTITY() 그렇지 ..

source 2023.04.07

SQL에서 월의 첫 번째 날을 선택하려면 어떻게 해야 합니까?

SQL에서 월의 첫 번째 날을 선택하려면 어떻게 해야 합니까? 특정 Date Time 변수의 첫 번째 날짜를 선택하려면 어떻게 해야 합니까? 이러한 종류의 코드를 사용하는 것은 매우 간단합니다. select CAST(CAST(YEAR(@mydate) AS VARCHAR(4)) + '/' + CAST(MONTH(@mydate) AS VARCHAR(2)) + '/01' AS DATETIME) 이것은 매우 우아하지도 않고, 매우 빠르지도 않다. 더 좋은 방법이 있을까요?SELECT DATEADD(month, DATEDIFF(month, 0, @mydate), 0) AS StartOfMonth 위의 모든 답변과 더불어 에 소개된 기능을 기반으로 한 방법sql 2012 SELECT DATEFROMPARTS(YEA..

source 2023.04.07

활성 SQL Server 연결을 확인하려면 어떻게 해야 합니까?

활성 SQL Server 연결을 확인하려면 어떻게 해야 합니까? SQL Server 2008 Enterprise를 사용하고 있습니다.활성 SQL Server 연결 및 모든 연결의 관련 정보(예: IP 주소에서 어떤 데이터베이스로 연결되는지)를 확인합니다. 이 문제를 해결하기 위한 기존 명령어가 있습니까?SELECT DB_NAME(dbid) as DBName, COUNT(dbid) as NumberOfConnections, loginame as LoginName FROM sys.sysprocesses WHERE dbid > 0 GROUP BY dbid, loginame ; sys.sysprocesses 에 대해서는, Microsoft 의 메뉴얼도 참조해 주세요.저장 프로시저를 사용할 수 있습니다. Micr..

source 2023.04.07

SQL 서버에서 중복 행 찾기

SQL 서버에서 중복 행 찾기 조직의 SQL Server 데이터베이스가 있으며 중복된 행이 많습니다.select 문을 실행하여 이러한 모든 항목과 DUP 수를 가져오고 각 조직과 관련된 ID도 반환합니다. 다음과 같은 문장이 있습니다. SELECT orgName, COUNT(*) AS dupes FROM organizations GROUP BY orgName HAVING (COUNT(*) > 1) 다음과 같은 것이 반환됩니다. orgName | dupes ABC Corp | 7 Foo Federation | 5 Widget Company | 2 하지만 신분증도 갖고 싶어요.어떻게 할 수 있을까요?아마... orgName | dupeCount | id ABC Corp | 1 | 34 ABC Corp | 2..

source 2023.04.07

쉼표로 구분된 값을 열로 분할하는 방법

쉼표로 구분된 값을 열로 분할하는 방법 이런 테이블이 있어요. 가치 스트링 1 스미스 주 클레오 쉼표로 구분된 문자열을 두 열로 구분합니다. 가치 이름. 성 1 클레오 스미스 두 개의 고정 추가 열만 필요합니다.당신의 목적은 다음 쿼리를 사용하여 해결할 수 있습니다. Select Value , Substring(FullName, 1,Charindex(',', FullName)-1) as Name, Substring(FullName, Charindex(',', FullName)+1, LEN(FullName)) as Surname from Table1 sql 서버에는 readymade Split 함수가 없기 때문에 사용자 정의 함수를 만들어야 합니다. CREATE FUNCTION Split ( @InputS..

source 2023.04.07

SQL Server에서 특정 날짜보다 큰 모든 날짜를 조회하려면 어떻게 해야 합니까?

SQL Server에서 특정 날짜보다 큰 모든 날짜를 조회하려면 어떻게 해야 합니까? 노력하고 있습니다. SELECT * FROM dbo.March2010 A WHERE A.Date >= 2010-04-01; A.Date외관:2010-03-04 00:00:00.000 그러나 이것은 동작하지 않습니다. 그 이유에 대한 참고 자료를 제공할 수 있는 사람이 있습니까?select * from dbo.March2010 A where A.Date >= Convert(datetime, '2010-04-01' ) 당신의 질문에서2010-4-01수학적인 표현으로 취급되기 때문에 본질적으로는 select * from dbo.March2010 A where A.Date >= 2005; (2010 minus 4 minus 1..

source 2023.04.07
반응형