sql >> Databasteknik >  >> RDS >> Sqlserver

5 snabba användbara tips för SQL Server Production DBA:er

SQL Server och SQL-databaser är här ett bra tag, och det finns många tekniker och strategier tillgängliga för administratörer att prestera bättre i det. Många DBA:er kommer inte att känna till några av de bästa tipsen som kommer att hjälpa dig främst i en produktionsmiljö. Här kommer vi att diskutera några slumpmässiga tips som några av er kan tycka är informativa och användbara i jobbet som en SQL Server-produktions-DBA.

#1. Forfiles verktyg för att bli av med gamla säkerhetskopior

Verktyget Forfiles (forfiles.exe) är förinstallerat med Windows Server 2003. IT gör det möjligt för administratörer att utföra batch-filbearbetning. Så DBA:er kan använda den här tjänsten tillsammans med SQL Server Agent, som hjälper till att ta bort de gamla säkerhetskopiorna av databasen, vilket kommer att radera beroenden av SQL Server-underhåll, xp_cmdshell utökade lagrade procedurer eller VBScript-objekten.

#2. Använda "ALTER USER" för att reparera föräldralösa inloggningar

Från SQL Server 2005 SP2 har kommandot ALTER USER för T-SQL också en WITH LOGIN-sats. Om du väljer detta kan de föräldralösa inloggningarna repareras genom att ändra användarens SID till säkerhetsidentifierare för serverinloggning. Det kan förbättra inte bara SQL Server utan även Windows-inloggningar. Föräldralösa användare skapas när en databas återställs från en annan server och den inloggningen skapas oberoende av varandra.

#3. Använd "sp_addsrvrolemember" för att ta upp sysadmin-rollen

Från SQL Server 2008 ges inte sysadmin-rollen till Windows-administratörer som standard. För att täcka detta kan du initiera SQL Server-instansen i enanvändarläget eller underhållsläget och sedan köra 'sp_addsrvrolemember' i Sqlcmd-verktygets lagrade procedur för att lägga till din inloggning till sysadmin-rollen.

#4. Använder PortQryUI för att felsöka anslutningsproblem

Som föreslagits av experter på RemoteDBA.com kan du använda Microsofts PortQryUI för att felsöka TCP/IP-anslutningsproblem. PortQryUI är ett alternativ till PortQry men har ett GUI med många fördefinierade tjänster. En av dessa fördefinierade portgrupper är avsedd för SQL Server, bestående av en TCP-port 1433 och UDP-port 1434. För att kontrollera portarna kan du bara ange IP-adress eller FQDN (Fully Qualified Domain Name) eller mål-SQL. Det är lätt att ladda ner PortQryUI-verktyget på "PortQryUI."

#5. Försök använda en unik strategi när du kör DBCC CHECKDB mot större databaser

Databaser tenderar att bli större för varje dag, så underhållsprocedurerna som att kontrollera integriteten med T-SQL-kommandot DBCC CHECKDB kan ta längre och längre tid. Det finns flera möjliga lösningar om DBCC CHECKDB överskrider den tilldelade underhållsperioden. En snabblösning är att komma åt säkerhetskopiering för att återställa DB på en annan server och sedan köra DBCC CHECKDB mot den befintliga servern. En andra lösning är att anpassa databasens verifieringsalternativ till CHECKSUM och sedan köra DBCC CHECKDB med alternativet PHYSICAL_ONLY. Denna kombination kommer att få DBCC CHECKDB att köras på kortare tid, men kommer fortfarande att fånga I/O-undersystemet.

#6. Använd ett serverövervakningsverktyg

"DBA:er kan utnyttja kraften hos SQL-serverövervakningsverktyg för att ge dig en tydlig översikt över din databasprestanda och för att felsöka eventuella uppenbara prestandaproblem. De stora lösningarna har alla mycket kraftfulla funktioner.

Vi rekommenderar SentryOne-serverövervakning, eftersom de har funnits i över 20 år och har några av de största hjärnorna i SQL-utrymmet bakom sig.

Du kan också använda T-SQL:s Server 2008 Center Management-servrar och lokala servergrupper för att fråga flera servrar samtidigt. I en SQL Server 2008 kan du också använda lokal servergrupp för att snabbt ansluta till de servrar som du ofta använder.


  1. Tankar om SQL Server 2019 Editions

  2. Tips för att fixa SQL Server Index Fragmentation

  3. Vad är kardinalitet i MySQL?

  4. Kan en främmande nyckel referera till ett icke-unikt index?