SQL Server 2016 Always Encrypted Column

Oszlopok titkosítása transzparensen, anélkül, hogy az alkalmazásban erre függvényeket kellene használni, ráadásul a kulcsot az általunk megadott tanusítvánnyal hozhatjuk létre. linkek: http://blogs.msdn.com/b/sqlsecurity/archive/2015/06/04/getting-started-with-always-encrypted.aspx https://msdn.microsoft.com/en-us/library/mt147923(v=sql.130).aspx https://msdn.microsoft.com/en-us/library/mt163865(v=sql.130).aspx http://security.stackexchange.com/questions/90931/is-sql-server-2016s-deterministic-encryption-any-good http://superuser.com/questions/810428/why-is-the-local-certificate-store-missing-in-windows-8-1 Az adatbázis objektumokat létrehozó script az alábbiakban látható (természetesen a kulcsokat érdemes az SSMS-el létrehozni lsd. az első linken): /****** Object: ColumnMasterKeyDefinition [CMK1] Script Date: 2015.06.12. 12:45:58 ******/ CREATE […]

Merge utasítás bemenő paraméterekkel

Az alábbi példa egy telefonszámokat tartalmazó tábla UPSERT (Insert Or Update)  példáját mutatja, ahol unique a TEL_NUMBER. Az aliasok t mint target és s mint source. A @TELNUMBER paraméterből csinálja a USING-ban az s (TEL_NUMBER) source táblát, amiután már a condition ON már evidens. (A MERGE source és target tábla alapján dolgozik.) declare @TEL_STATECODE char(1) […]

Amit a TempDB-ről tudni kell

Nem sokat figyelünk rá, mivel észrevétlenül dolgozik A TempDb adatbázis olyan, mint a Windows-ban a temp könyvtár. Beledobálunk ideiglenesen dolgokat, dolgozunk vele, majd töröljük. Ugyanez a szerepe az SQL Server Temdb adatbázisának is. Viszont nem vesszük észre, de számtalan esetben használja a rendszer a saját feladatai elvégzésére. Az alábbi linken olvashatunk ezekről: https://technet.microsoft.com/en-us/library/ms345368(v=sql.105).aspx Leginkább akkor […]

View frissítése

Ha változik a view-ban használt objektum struktúrája (pl. törlünk egy oszlopot), akkor az egyik megoldás a view frissítése: SP_RefreshView ‘view_name’ A másik megoldás a WITH SCHEMABINDING  opció használata. […]

Törlés nagy táblából

A trükk a Checkpoint, ami a változásokat a memóriában hajtja végre és nem a diszken minden alkalommal. A WAITFOR pedig segít a szervernek levegőhöz jutni. DECLARE @DelDate DATETIME; SET @DelDate = DATEADD(d,-60,GETDATE()); WHILE 1 = 1 BEGIN — Choose records count as per your records size. DELETE TOP (1000) FROM MyTableName WHERE column_name < @DelDate […]

Indexek fregmentációjának kezelése

A következő lekérdezés egy adatbázis tábla indexeinek a frementációját írja ki %-osan: SELECT a.index_id, name, avg_fragmentation_in_percent FROM sys.dm_db_index_physical_stats (DB_ID(N’SIS_DB’), OBJECT_ID(N’TEVENT’), NULL, NULL, NULL) AS a JOIN sys.indexes AS b ON a.object_id = b.object_id AND a.index_id = b.index_id; A példa eredménye pl: 1      PK_TEVENT    19,8322163007709 2      EVNEVNTYP_FK 93,5590496958568 3      EVNDEV_FK    89,5302222395205 4      EVNPRS_FK    42,6671763645796 5      EVN_TAG_FK   […]

Hasznos dátum műveletek

Pár fontosabb dátum: —-Last Day of Previous Month SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0)) LastDay_PreviousMonth —-Last Day of Current Month SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE())+1,0)) LastDay_CurrentMonth —-Last Day of Next Month SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE())+2,0)) LastDay_NextMonth […]

Split strings megoldások

Számtalan megoldás létezik a string darabolására. Érthetőség és gyorsaság szempontjából én ezt választottam: /* usage: select * from dbo.SplitStrings(‘1,2,3′,’,’) */ CREATE FUNCTION dbo.SplitStrings ( @List NVARCHAR(MAX), @Delimiter NVARCHAR(255) ) RETURNS TABLE WITH SCHEMABINDING AS RETURN ( SELECT Item = y.i.value(‘(./text())[1]’, ‘nvarchar(4000)’) FROM ( SELECT x = CONVERT(XML, ‘<i>’ + REPLACE(@List, @Delimiter, ‘</i><i>’) + ‘</i>’).query(‘.’) ) […]

64 bit-es szerveren linked szrever Sql 2000-re

Query esetén a következő hiba keletkezik: OLE DB provider “SQLNCLI10″ for linked server “XXXXXX” returned message “The stored procedure required to complete this operation could not be found on the server. Please contact your system administrator.”. Msg 7311, Level 16, State 2, Line 1 Cannot obtain the schema rowset “DBSCHEMA_TABLES_INFO” for OLE DB provider “SQLNCLI10″ […]

1 2 3 4 5