--WAITFOR
--例 等待1 小时2 分零3 秒后才执行SELECT 语句
waitfor delay ’01:02:03’
select * from employee
--例 等到晚上11 点零8 分后才执行SELECT 语句
waitfor time ’23:08:00’
select * from employee
joomy 發表在 痞客邦 留言(0) 人氣(198)
备份SQL Server
备份的术语
系统故障
SQL Server记录文件
备份方法
执行备份
排程备份
改善备份
本章总结
将数据库备份是 DBA 最重要的任务之一。备份和仔细的还原计划可在系统失效时将数据还原。DBA 的责任是保持系统的执行状态,并在失效时尽快还原所有的服务。系统停止运作会造成许多不便,有时更要付出昂贵的代价,因此在系统停止运作时得很快的取得取得数据库备份。有些技术会对系统失效的还原有帮助,如丛集和容错磁盘子系统,但是还是比不上一个好的计划和可靠的备份。
因为备份、还原和复原数据库的主题十分重要,因此我们会分成两章的来讨论。本章中将学习 SQL Server 交易记录文件,以及备份数据库的几种方法。在 第 33 章 中,将学习如何还原数据库、SQL Server 如何回复、以及如何建立回复计划。
备份的术语
joomy 發表在 痞客邦 留言(0) 人氣(151)
SQL分类:
DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)
DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)
DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
首先,简要介绍基础语句:
joomy 發表在 痞客邦 留言(0) 人氣(127)
将存储过程创建在master数据库中,然后企业管理器中找到这个存储过程--右键--属性--勾选"每当sql server启动时执行"。
--或者在master中创建存储过程后,执行语句设置为自动启动
use master
exec sp_procoption '存储过程名','startup','on'
---------------------------------------------------------------
joomy 發表在 痞客邦 留言(0) 人氣(35)

如果只有ufdata.mdf(数据库文件),ufdata.ldf(日志文件)可以运用系统数据库(master)里的系统存储过程 sp_attach_db 来恢复,具体操作过程:在Query Analyzer 或者 Dos 里的osql 命令来实现,exec sp_attach_db '数据库名','参数1(第一个物理文件的目录及文件名)','参数1(第二个物理文件的目录及文件名)' 如 exec sp_attach_db 'ufsystem','D:\wf821\admin\ufsystem.ldf','D:\wf821\admin\ufsystem.mdf'
注:如果是该数据库为灰色,则需要先断开该物理文件与数据库的连接, 使用sp_detach_db 语法: exec sp_detach_db '数据库名'
如果是只有mdf 文件(数据库文件),则需要另外一个系统存储过程sp_attach_single_file_db
具体语法为 exec ap_attach_single_file_db 'ufsystem','D:\wf821\admin\ufsystem.mdf'
stop SQL Server service ,replace physname by new files and start SQL server service. 其实这一种方法也可以应用于当数据库出现损坏的情况,利用SQL Server 在启动时主动检测数据库是否完好的功能。
joomy 發表在 痞客邦 留言(0) 人氣(56)
一、了解DBCC
DBCC(database consistenecy checker,简称dbcc) 是一个实用命令集,用来检查数据库的逻辑一致性及物理一致性。
数据库控制台命令语句可分为以下类别:
维护: 对数据库、索引或文件组进行维护的任务。
杂项: 杂项任务,如启用跟踪标志或从内存中删除 DLL。
信息: 收集并显示各种类型信息的任务。
验证: 对数据库、表、索引、目录、文件组或数据库页的分配进行的验证操作
joomy 發表在 痞客邦 留言(0) 人氣(140)
DUMP TRANSACTION [数据库名] WITH NO_LOG
BACKUP LOG [数据库名] WITH NO_LOG
DBCC SHRINKDATABASE([数据库名])
如何避免 SQL Server 資料庫的交易記錄檔超出預期大小
joomy 發表在 痞客邦 留言(0) 人氣(66)
◆資料庫啟用與卸載(mysqladmin 公用程式的使用)
mysqladmin 公用程式可用來維護 MySQL 比較一般性的工作(新增、刪除資料庫、設定使用者密碼及停止 MySQL 等等),詳細的說明可以使用 mysqladmin --help 來查看。(以本文的安裝為例 mysqladmin 位於 /usr/local/mysql/bin/mysqladmin)。新增資料庫 dbtest # mysqladmin -u root -p create dbtest
Enter password:
Database "dbtest" created.
刪除資料庫 # mysqladmin -u root -p drop dbtest
Enter password:
Dropping the database is potentially a very bad thing to do.
Any data stored in the database will be destroyed.
Do you really want to drop the 'dbtest' database [y/N]
y
Database "dbtest" dropped
設定使用者密碼(將 maa 的密碼改為 7654321,mysqladmin 會先詢問 maa 的原密碼) # mysqladmin -u maa -p password 7654321
Enter password:
joomy 發表在 痞客邦 留言(0) 人氣(118)
sysobjects:針對資料庫內所建立的每個物件,如條件約束、預設值、記錄、規則和預存程序,各包含一個資料列。
type : 物件類型。它可以是下列值之一:
C = CHECK 條件約束
D = 預設值或 DEFAULT 條件約束
F = FOREIGN KEY 條件約束
FN = 純量函數
IF = 內嵌資料表函數
K = PRIMARY KEY 或 UNIQUE 條件約束
L = 記錄
P = 預存程序
R = 規則
RF = 複寫篩選預存程序
S = 系統資料表
TF = 資料表函數
TR = 觸發程序
U = 使用者資料表
V = 檢視
X = 擴充預存程序
所以…
例:要找出所有的Trigger
select name, type
from sysobjects
where type = 'TR'
joomy 發表在 痞客邦 留言(0) 人氣(118)
在資料庫上按滑鼠右鍵--> 內容 ...
在[一般]頁籤的最下方,即可看到此資料庫的 定序名稱...
定序名稱 可分解為:
使用語言字串
[_指定大寫]
[_是否指定大小寫]
[_是否區分腔調字]
[_二進位排序]
[_指定大寫] ==> 若加上 _Pref 即表示指定大寫,未加則不指定。
[_是否指定大小寫] ==> _CI 指定不分大小寫,_CS 指定區分大小寫。
[_是否區分腔調字] ==> _AI 指定不分腔調字,_AS 指定區分腔調字。
[_二進位排序] ==> 若加上 _BIN 即表示以二進位排序,未加則不指定。
joomy 發表在 痞客邦 留言(0) 人氣(1,545)