Tsql теория > 10 операторов T-SQL, которые полезны для администраторов базы данных SQL Server.
02.04.2013 18:04:35
Наиболее часто встречающиеся слова в статье:
[Statement] [Следующий] [информацию] [оператор] [сервера] [SERVERPROPERTY] [является] [Transact-SQL] [связанную] [перечисляет]
Статья:
Top 10 Transact-SQL Statements a SQL Server DBA Should Know
Эта статья перечисляет лучшие 10 операторов T-SQL, которые полезны для администраторов базы данных SQL Server.
T-SQL Statement 1
Следующий оператор T-SQL получает информацию, такую как Hostname, Current instance name, Edition, Server type, ServicePack and version number from current SQL Server connection
SELECT SERVERPROPERTY('MachineName') as Host, SERVERPROPERTY('InstanceName') as Instance, SERVERPROPERTY('Edition') as Edition, /*shows 32 bit or 64 bit*/ SERVERPROPERTY('ProductLevel') as ProductLevel, /* RTM or SP1 etc*/ Case SERVERPROPERTY('IsClustered') when 1 then 'CLUSTERED' else 'STANDALONE' end as ServerType, @@VERSION as VersionNumber
Fig 1.1
T-SQL Statement 2
Управления конфигурацией уровня сервера некоторые из функций и производительность SQL Server. Для DBA SQL Server также важно знать конфигурационную информацию уровня сервера. Следующий SQL-оператор даст всю информацию, связанную с конфигурацией уровня Сервера.
SELECT * from sys.configurations order by NAME
Если Вы используете SQL Server 2000, можно выполнить следующую команду
SP_CONFIGURE 'show advanced options',1 go RECONFIGURE with OVERRIDE go SP_CONFIGURE go
Fig 1.2
T-SQL Statement 3
Безопасность является очень важным аспектом, о котором должен знать DBA. Также важно знать, у какого входа в систему есть sysadmin или администраторская роль уровня сервера безопасности. Следующая Команда SQL покажет информацию, связанную с администраторской ролью сервера безопасности и ролью сервера системного администратора.
SELECT l.name, l.denylogin, l.isntname, l.isntgroup, l.isntuser FROM master.dbo.syslogins l WHERE l.sysadmin = 1 OR l.securityadmin = 1
Fig 1.3
T-SQL Statement 4
Следующий оператор T-SQL перечислит все флаги трассировки, которым включают gloabally на сервере
DBCC TRACESTATUS(-1);
Следующий оператор T-SQL перечислит все флаги трассировки, которые включаются на текущем соединении SQL сервера.
DBCC TRACESTATUS();
Fig 1.4
Операторы Transact-SQL Уровня базы данных DBA SQL Server
T-SQL Statement 5
Получение информации уровня Базы данных одинаково важно как информация об уровне Сервера. Следующий оператор T-SQL дает информацию об именах базы данных, их уровне совместимости и также модели восстановления и их текущем статусе. Следствие этого Оператора T-SQL поможет Вам определить, есть ли какое-либо необходимое обновление уровня совместимости. Обновляя от более старой версии до новой версии, уровень совместимости базы данных, возможно, не находится в требуемом уровне. Следующий оператор поможет Вам перечислить все имена базы данных с compatibilty уровнем. Это также перечисляет онлайновое/офлайновое состояние базы данных так же как помогания DBA видеть, необходимо ли какое-либо обновление к модели восстановления.
SELECT name,compatibility_level,recovery_model_desc,state_desc FROM sys.databases
Fig 1.5
If you are using SQL Server 2000, you could execute the following T-SQL Statement.
SELECT name,cmptlevel,DATABASEPROPERTYEX(name,'Recovery')AS RecoveryModel, DATABASEPROPERTYEX(name,'Status') as Status FROM sysdatabases
Fig 1.6
T-SQL Statement 6
Следующий уровень информации, связанной с базой данных, которая необходима, является расположением базы данных. Следующий Оператор T-SQL обеспечивает логическое имя и физическое расположение данных/файлов журнала всех баз данных, доступных в текущем экземпляре SQL Server.
SELECT db_name(database_id) as DatabaseName,name,type_desc,physical_name FROM sys.master_files
Fig 1.7
If you are using SQL Server 2000, you could execute the following T-SQL Statement. Refer Fig 1.8
SELECT db_name(dbid) as DatabaseName,name,filename FROM master.dbo.sysaltfiles
Fig 1.8
T-SQL Statement 7
База данных может содержать группы файлов кроме первичной группы файлов. Следующий Оператор T-SQL выполняется в каждой базе данных на сервере и выводит на экран связанные результаты групп файлов.
EXEC master.dbo.sp_MSforeachdb @command1 = 'USE [?] SELECT * FROM sys.filegroups'
Fig 1.9
Резервные Операторы Transact-SQL Уровня SQL Server
T-SQL Statement 8
Резервное копирование базы данных является хлебом с маслом для администраторов базы данных. Следующий Оператор T-SQL перечисляет все базы данных в сервере, и в последний день резервное копирование произошло. Это поможет администраторам базы данных проверить резервные задания и также удостовериться, что резервные копии происходят для всех баз данных.
SELECT db.name, case when MAX(b.backup_finish_date) is NULL then 'No Backup' else convert(varchar(100), MAX(b.backup_finish_date)) end AS last_backup_finish_date FROM sys.databases db LEFT OUTER JOIN msdb.dbo.backupset b ON db.name = b.database_name AND b.type = 'D' WHERE db.database_id NOT IN (2) GROUP BY db.name ORDER BY 2 DESC
Fig 1.10
T-SQL Statement 9
Следующий уровень информации, которая важна для администратора базы данных SQL Server, чтобы знать, является расположением всех файлов резервных копий. Вы не хотите, чтобы резервные копии пошли в локальный диск или в диск ОС. Следующий оператор T-SQL получает всю информацию, связанную с текущим резервным расположением от базы данных msdb
SELECT Distinct physical_device_name FROM msdb.dbo.backupmediafamily
Fig 1.11
Операторы Transact-SQL - процессы SQL Server
T-SQL Statement 10
Наконец, что не менее важно, информация, связанная с текущими процессами и соответствующей информацией соединения. С начала администраторы базы данных SQL Server использовали sp_who и sp_who2, чтобы проверить текущих пользователей, процесс и информацию о сеансе. Эти операторы также предоставили информацию, связанную с центральным процессором, памятью и информацией о блокировании, связанной с сеансами
sp_who sp_who2
Fig 1.12
Заключение
Как упомянуто в начале этой статьи, Microsoft SQL
Server является многофункциональным продуктом системы управления базами
данных. У каждой функции, поддерживавшей SQL Server, есть свой собственный
список команд. Эта статья покрывала Лучшие 10 операторов T-SQL, которые
полезны для DBA SQL Server.