Ⅰ sqlServer怎么定时跑一段SQL语句
1、首先打开SqlServer应用程序,点击打开左侧工具栏中的“作业”选项。
Ⅱ 请推荐一本学习SQL Server数据库的书籍.
深入浅出--SQL Server 2005开发、管理与应用实例
【内容简介】
本书全面系统地介绍了SQL Server 2005应用、开发和管理方面的技术,涉及安装和升级SQL Server、T-SQL增强、T-SQL应用、XML数据处理、CLR集成、开发SQL Server应用程序、端点、Service Broker、SQL Server Integration Services、SQL Server配置、SQL Server安全管理、数据的加密与解密、数据备份与还原、数据库的高可用性技术、查询SQL Server对象信息、服务器性能监视等内容。
本书不但融合了作者在使用SQL Server 2005过程中遇到的各种常见问题和应用案例,还总结了作者几年来在CSDN 社区SQL Server版所解决的大量问题,面向实际项目需求,涉及不同类型的应用,能够多角度地引导读者学习相关知识。而且针对各类问题,提供了详细的操作步骤和解决思路,具有很强的实用性和可操作性,因此不仅适用于初学者,也适用于进阶者。
【编辑推荐】
继《中文版SQL Server 2000开发与管理应用实例》后的又一力作,从应用、开发和管理3个角度逐步深入,全面介绍SQL Server 2005数据库技术,不但融合了资深专家数年工作实践和宝贵经验,还根据DBA所需具备的从业素质对内容进行了布局。
精彩内容:安装和升级SQL Server,T-SQL增强,T-SQL应用,XML数据处理,CLR集成,开发SQL Server应用程序,端点,Service JBroker,SQL Server Integration Services,SQL Server配置,SQL Server安全管理,数据的加密与解密,数据备份与还原,数据库的高可用性技术,查询SQL Server对象信息,服务器性能监视。
【目录信息】
第1章 了解SQL Server 2005
1.1 SQL Server的发展
1.2 SQL Server 2005的产品组件与版本
1.2.1 SQL Server 2005的产品组件
1.2.2 SQL Server 2005的各种版本
1.3 SQL Server 2005增强
1.3.1 管理方面的增强
1.3.2 大幅提升编程的能力
1.3.3 完备的分析平台
1.4 安装SQL Server 2005
1.4.1 通过向导安装SQL Server 2005
1.4.2 自动安装SQL Server 2005
1.5 连接到SQL Server
1.6 升级到SQL Server 2005
1.6.1 为什么升级
1.6.2 SQL Server 2005的向后兼容性
1.6.3 SQL Server 2005升级顾问
1.6.4 升级到SQL Server 2005
1.7 SQL Server 2005管理及开发工具
1.7.1 SQL Server Management Studio
1.7.2 SQL Server Business Intelligence Development Studio
1.7.3 管理工具
第2章 T-SQL增强
2.1 DML增强功能
2.1.1 公用表表达式
2.1.2 排名函数
2.1.3 APPLY操作符
2.1.4 PIVOT和UNPIVOT运算符
2.1.5 OUTPUT子句
2.1.6 结构化错误处理
2.1.7 TOP增强
2.2 DDL增强功能
2.2.1 新的数据类型
2.2.2 行溢出
2.2.3 同义词
2.2.4 分区表
2.2.5 DDL触发器
2.2.6 定义参照完整性功能的增强
2.2.7 索引功能增强
第3章 T-SQL应用
3.1 联接
3.1.1 条件联接
3.1.2 联接操作
3.2 数据检索中的典型应用及常见问题释疑
3.2.1 集合运算
3.2.2 动态T-SQL处理
3.2.3 数据汇总
3.2.4 SELECT应用
3.3 其他典型应用及常见问题释疑
3.3.1 索引
3.3.2 随机数
3.3.3 char与varchar的选择
3.3.4 NULL与零长度、字符串尾随空格
3.3.5 字符编码与排序规则
3.3.6 日期处理中的常见问题与处理建议
3.3.7 游标处理
3.3.8 临时表
3.3.9 标识值
3.3.10 事务与阻塞及死锁
3.4 T-SQL编写规范及建议
3.4.1 代码编写规范和建议
3.4.2 T-SQL中易犯的错误
第4章 XML数据处理
4.1 xml数据类型概述
4.2 类型化与非类型化XML实例
4.3 XQuery
4.3.1 XQuery概述
4.3.2 xml数据类型方法
4.3.3 XQuery运算符
4.3.4 XQuery条件表达式
4.3.5 XQuery函数
4.3.6 FLWOR
4.3.7 命名空间
4.4 构建xml数据
4.4.1 使用大容量加载
4.4.2 使用FOR XML子句
4.5 XML索引
4.5.1 XML索引概述
4.5.2 创建和管理XML索引
4.6 XML应用示例
4.6.1 合并行
4.6.2 分解字符串
4.6.3 生成Excel支持的XML表格数据
第5章 CLR集成
5.1 CLR集成概述
5.2 编写和管理CLR对象
5.2.1 启用CLR集成
5.2.2 编写CLR程序集
5.2.3 发布和部署CLR程序集
5.2.4 SQL Server进程中专用的ADO.NET扩展
5.2.5 CLR集成安全性
5.3 CLR编写示例
5.3.1 CLR用户自定义函数
5.3.2 CLR用户自定义聚合函数
5.3.3 CLR触发器
5.3.4 CLR存储过程
5.3.5 CLR用户自定义数据类型
第6章 开发SQL Server应用程序
6.1 ADO.NET 2.0中的SQL Server .NET Framework数据提供程序的新增功能
6.1.1 分布式事务
6.1.2 批量复制
6.1.3 查询通知
6.1.4 异步执行
6.1.5 Provider的统计信息
6.1.6 其他
6.2 SQL Management Object(SMO)
6.2.1 SMO概述
6.2.2 SMO应用程序示例
6.3 SQL Server Express
6.3.1 支持的功能
6.3.2 升级MSDE 2000
6.3.3 用户实例
第7章 端点
7.1 端点概述
7.1.1 创建和修改端点
7.1.2 端点权限和身份验证类型
7.2 本机XML Web服务
7.2.1 本机XML Web服务概述
7.2.2 本机XML Web服务应用示例
第8章 Service Broker
8.1 Service Broker概述
8.2 Service Broker架构与组成组件
8.2.1 体系结构
8.2.2 简单的SQL Server聊天程序示例
8.2.3 Service Broker网络与路由
8.2.4 跨实例的SQL Server聊天程序示例
8.3 管理与监控Service Broker
8.4 事件通知
8.4.1 了解事件通知
8.4.2 实现事件通知
8.4.3 使用事件通知实现BLOCK信息收集的示例
第9章 SQL Server Integration Services
9.1 认识SSIS
9.1.1 SSIS的典型用途
9.1.2 SSIS体系结构
9.1.3 SSIS工具
9.1.4 SSIS包概述
9.2 创建、设计、发布和管理SSIS包
9.2.1 创建和设计包
9.2.2 事件处理
9.2.3 查看包对象
9.2.4 调试、发布与部署包
9.2.5 管理和监视已经发布的包
9.2.6 使用SQL Server代理作业执行包
9.3 在包中添加高级功能
9.3.1 使用日志记录
9.3.2 使用事务
9.3.3 使用变量及表达式
9.3.4 优先约束
9.3.5 使用检查点
9.4 包保护级别
9.5 SSIS包示例
9.5.1 数据同步示例
9.5.2 数据收集示例
9.5.3 通用数据导入示例
第10章 SQL Server配置
10.1 服务配置
10.1.1 公用配置
10.1.2 专用配置
10.2 SQL Server配置
10.2.1 服务器配置选项
10.2.2 数据库配置选项
第11章 SQL Server安全管理
11.1 安全概述
11.2 连接安全
11.2.1 连接到SQL Server实例
11.2.2 网络协议与TDS端点
11.2.3 加密连接
11.3 登录验证
11.3.1 登录身份
11.3.2 身份验证和身份验证模式
11.4 权限控制
11.4.1 权限控制体系概述
11.4.2 控制权限
11.4.3 角色
11.5 与安全相关的事项
11.5.1 密码策略
11.5.2 上下文切换
11.5.3 所有权链接
11.5.4 SQL注入
11.6 安全配置建议
11.6.1 操作系统级安全配置建议
11.6.2 连接SQL Server方面的安全配置建议
11.6.3 SQL Server上的安全配置建议与配置工具
第12章 数据的加密与解密
12.1 概述
12.1.1 加密层次结构
12.1.2 服务主密钥
12.1.3 数据库主密钥
12.2 加密机制
12.2.1 证书
12.2.2 非对称加密
12.2.3 对称加密
12.2.4 通行短语加密
第13章 数据备份与还原
13.1 概述
13.1.1 数据与日志
13.1.2 数据库恢复模式
13.1.3 备份设备
13.1.4 备份媒体集、媒体簇和备份集
13.2 数据库备份
13.2.1 完全备份
13.2.2 差异备份
13.2.3 部分备份
13.2.4 文件和文件组备份
13.2.5 日志备份
13.2.6 数据库维护计划
13.3 备份媒体的可靠性
13.3.1 镜像备份媒体集
13.3.2 验证备份集
13.4 数据库还原
13.4.1 数据库还原过程与还原选项
13.4.2 还原备份
13.4.3 将数据库还原到特定的恢复点
13.4.4 段落还原
13.4.5 页面还原
13.4.6 数据库快照及从快照中还原
13.5 数据库备份与还原的实践应用
13.5.1 系统数据库的备份与还原
13.5.2 抢救损坏数据库中的数据
13.5.3 使用备份与还原实现双机热备份
13.6 制订数据库备份方案
13.6.1 备份方法比较
13.6.2 备份方案制订原则
13.7 数据备份与还原疑难解答
13.7.1 数据备份与还原中的常见问题
13.7.2 数据库所有者与孤立用户
13.7.3 备份中的COPY_ONLY选项
第14章 数据库的高可用性技术
14.1 数据库镜像
14.1.1 概述
14.1.2 配置数据库镜像
14.1.3 数据库镜像配置示例
14.1.4 故障转移
……
查看详细介绍或书评:
http://www.china-pub.com/38462
更多sqlserver类书籍,请访问:
http://www.china-pub.com/search/power_search/power_search.aspx?key1=sql+server
买书前先查看书评及用户反馈,查看图书简介及目录,作者,及其它东东,:)
Ⅲ 贯通SQLServer2008数据库系统开发的目 录
第 1 篇 基础知识篇
第1章SQL Server 2008概述、安装和配置 2
1.1 SQL Server 2008概述 2
1.1.1 数据库引擎 3
1.1.2 分析服务 3
1.1.3 集成服务 3
1.1.4 复制 4
1.1.5 报表服务 4
1.1.6 通知服务 4
1.1.7 全文搜索 5
1.1.8 Service Broker 5
1.2 选择SQL Server 2008的优势 5
1.3 安装SQL Server 2008软、硬件要求 6
1.4 安装示例 7
1.5 服务器网络配置 13
1.5.1 SQL Server配置管理器 13
1.5.2 配置服务器网络协议和网络库 14
1.5.3 加密与SQL Server的连接 14
1.6 客户端网络配置 16
1.6.1 本地客户端配置 17
1.6.2 使用防火墙系统 20
1.7 小结 23
第2章SQL Server 2008新增及加强功能介绍 24
2.1 新增及加强功能简介 24
2.2 安全方面 25
2.2.1 加密 25
2.2.2 审计 26
2.3 管理方面 26
2.3.1 数据压缩 26
2.3.2 资源管理器 26
2.3.3 管理非结构化数据 27
2.4 开发方面 27
2.4.1 一次性插入多行数据 27
2.4.2 FORCESEEK提示 27
2.4.3 GROUPING SETS 28
2.4.4 兼容性级别 28
2.4.5 用户自定义表数据类型 29
2.4.6 表值参数 29
2.4.7 MERGE语句 30
2.5 新的数据类型 31
2.6 安装 34
2.7 系统效能方面 34
2.8 其他增强 34
2.8.1 报表服务的新功能 34
2.8.2 服务器合并解决方案 35
2.8.3 与Microsoft Office 2007结合 36
2.8.4 SQL Server集成服务 36
2.8.5 SQL Server分析服务 36
2.9 小结 36
第3章SQL Server管理工具集 37
3.1 SQL Server管理工具集简介 37
3.2 功能组件和工具窗口介绍 39
3.3 使用SQL Server管理工具集管理服务器 44
3.4 使用SQL Server管理工具集编写、分析和编辑脚本 45
3.5 使用SQL Server管理工具集模板 52
3.6 在SQL Server管理工具集中开发解决方案和项目 55
3.7 SQL Server管理工具集与其他组件协同工作 61
3.8 小结 61
第4章数据库和规范式 62
4.1 概述 62
4.2 数据库的物理存储结构设计和逻辑结构设计 64
4.2.1 数据库物理存储结构设计 64
4.2.2 数据库逻辑结构设计 69
4.3 创建数据库 73
4.4 删除数据库 76
4.5 修改数据库 78
4.5.1 修改数据库的名称 78
4.5.2 更改数据库所有者 78
4.6 数据库设计规范式 79
4.7 系统数据库 82
4.8 小结 85
第5章表 86
5.1 概述 86
5.2 表的结构 86
5.3 创建表 87
5.3.1 字段 89
5.3.2 数据类型 89
5.3.3 表设计 93
5.3.4 全局唯一标识符与自动编号字段 93
5.3.5 用户定义数据类型 95
5.3.6 创建计算字段 96
5.4 修改数据记录 97
5.5 更改表设计 98
5.6 删除表 102
5.7 表的连接 103
5.8 表的其他操作 106
5.8.1 表的导入 106
5.8.2 锁定表的某些记录 109
5.9 小结 111
第6章索引 112
6.1 概述 112
6.2 索引的基本概念 113
6.2.1 索引的结构 113
6.2.2 索引的优点和缺点 113
6.3 索引的设计准则 113
6.4 索引的类型 115
6.4.1 聚集索引与非聚集索引 115
6.4.2 唯一索引与非唯一索引 118
6.4.3 单列索引与多列索引 119
6.5 填充因子 119
6.6 创建索引 120
6.7 禁用索引 125
6.8 删除索引 128
6.9 小结 132
第7章视图 133
7.1 视图概述 133
7.1.1 视图的优点 134
7.1.2 视图的类型 134
7.2 创建视图 135
7.2.1 创建视图的准则 135
7.2.2 创建视图的方法 136
7.3 使用视图 141
7.3.1 使用索引视图 141
7.3.2 使用分区视图 145
7.4 可更新的视图 147
7.5 通过视图来更新数据 148
7.6 更改视图 151
7.6.1 更改视图的名称 152
7.6.2 更改视图的定义 152
7.7 删除视图 154
7.8 小结 154
第8章数据库的备份、还原和维护 155
8.1 概述 155
8.2 备份数据库 156
8.2.1 备份概述 156
8.2.2 完全备份 158
8.2.3 差异备份 161
8.2.4 使用事务日志备份 163
8.2.5 将数据库迁移到其他系统进行备份 164
8.2.6 导入/导出 165
8.3 还原和恢复数据库 168
8.3.1 还原方案 168
8.3.2 解决孤立用户 169
8.3.3 还原差异数据库备份 170
8.3.4 还原事务日志备份 174
8.3.5 完全恢复 178
8.3.6 大容量日志记录恢复 179
8.4 备份和恢复系统数据库 180
8.4.1 备份系统数据库 180
8.4.2 还原系统数据库 181
8.5 附加和分离数据库 182
8.5.1 分离数据库 182
8.5.2 附加数据库 185
8.5.3 使用分离和附加操作来移动数据库 187
8.6 复制 187
8.6.1 复制类型概述 188
8.6.2 执行复制 189
8.7 维护计划和策略 195
8.7.1 维护计划概述 195
8.7.2 如何创建维护计划 196
8.8 小结 198
第9章存储过程 199
9.1 存储过程概述 199
9.1.1 存储过程的优缺点 199
9.1.2 存储过程的种类 200
9.2 创建存储过程 201
9.2.1 创建自定义存储过程时的一些注意事项 201
9.2.2 创建用户自定义存储过程 201
9.2.3 扩展存储过程 203
9.2.4 存储过程表达式语法解析 203
9.2.5 参数 211
9.2.6 游标 211
9.2.7 嵌套存储过程 213
9.2.8 在存储过程中使用数据库事务处理 215
9.3 执行存储过程 215
9.3.1 在SQL Server中执行存储过程 215
9.3.2 在Java/JSP中调用存储过程 216
9.4 更新存储过程 216
9.4.1 重命名存储过程 216
9.4.2 修改存储过程 217
9.4.3 重新编译存储过程 219
9.5 删除存储过程 219
9.6 系统存储过程 221
9.7 优化存储过程 222
9.8 存储过程分页 222
9.9 项目示例:企业员工考勤查询系统 226
9.10 小结 232
第10章T-SQL基础 233
10.1 概述 233
10.1.1 T-SQL语言的特点 233
10.1.2 T-SQL语言类型 234
10.2 数据类型 234
10.3 关系代数 236
10.4 T-SQL基本语法约定 240
10.5 变量 240
10.6 运算符 243
10.7 函数 245
10.8 控制流程语句 253
10.9 小结 258
第11章高级T-SQL 259
11.1 概述 259
11.2 脚本与批处理 259
11.2.1 使用INSERT...SELECT进行批处理添加 259
11.2.2 使用INSERT TOP进行批处理添加 261
11.2.3 使用SELECT...INTO进行批处理添加 261
11.3 添加存储过程的查询结果 262
11.4 使用UPDATE TOP修改数据记录 263
11.5 删除数据记录 264
11.5.1 使用DELETE TOP删除数据记录 264
11.5.2 使用带OUTPUT子句的DELETE删除数据记录 264
11.5.3 使用TRUNCATE TABLE表达式删除数据记录 265
11.6 汇总和分组数据 266
11.6.1 使用GROUP BY 266
11.6.2 使用COMPUTE BY 268
11.7 模糊查询 270
11.8 使用T-SQL代码进行全文索引 271
11.9 小结 284
第12章触发器 285
12.1 概述 285
12.2 创建触发器 287
12.3 修改触发器 290
12.3.1 查看触发器 290
12.3.2 修改触发器的定义 292
12.3.3 重命名触发器 292
12.4 禁用与启用触发器 293
12.5 删除触发器 293
12.6 嵌套触发器 294
12.7 递归触发器 297
12.8 使用触发器 298
12.8.1 使用触发器概述 298
12.8.2 检查特定的字段是否已被修改 299
12.8.3 使用包含ROLLBACK TRANSACTION
表达式的触发器 300
12.8.4 有条件的INSERT触发器 301
12.8.5 指定AFTER触发器的顺序 301
12.8.6 使用INSTEAD OF触发器更新视图 304
12.8.7 使用TRY...CATCH表达式 306
12.8.8 使用sp_addmessage创建用户定义错误消息 309
12.9 DDL触发器、DML触发器和CLR触发器 309
12.9.1 DDL触发器 309
12.9.2 DML触发器 314
12.9.3 CLR触发器 315
12.10 实例:员工就餐统计系统 317
12.11 小结 324
第13章作业和警报 325
13.1 概述 325
13.2 创建作业 325
13.3 管理作业 329
13.3.1 修改作业 329
13.3.2 运行作业 332
13.3.3 禁用作业 333
13.3.4 停止作业 334
13.3.5 删除作业 335
13.4 作业响应 336
13.5 警报 338
13.5.1 创建事件警报 338
13.5.2 创建性能警报 340
13.5.3 编辑警报 341
13.5.4 删除警报 343
13.6 操作员 343
13.6.1 创建操作员 343
13.6.2 向操作员分配警报 345
13.6.3 修改操作员 346
13.6.4 删除操作员 348
13.7 为作业通知和警报配置SQL Server Agent Mail 348
13.8 诊断及解决作业和警报故障 349
13.9 实例:企业巡更考勤系统 350
13.10 小结 352
第14章安全 353
14.1 概述 353
14.2 身份验证 354
14.2.1 身份验证模式概述 354
14.2.2 身份验证模式的更改 354
14.3 安全管理 355
14.3.1 SQL Server登录管理 356
14.3.2 数据库角色管理 360
14.3.3 权限管理 361
14.3.4 应用程序角色管理 365
14.3.5 事务日志管理 366
14.4 访问管理 367
14.4.1 启用Guest用户 368
14.4.2 拒绝用户访问 368
14.4.3 管理对数据库的访问 370
14.4.4 对数据库访问进行授权 372
14.4.5 管理对表和列的访问 373
14.5 数据文件安全 375
14.6 安全配置 377
安全配置策略 377
14.7 加密 380
14.8 小结 384
第15章SQL Server报表服务 385
15.1 SQL Server报表服务概述 385
15.2 报表服务体系架构 386
15.3 报表服务功能 388
15.4 安装SQL Server报表服务 390
15.5 配置报表服务 394
15.6 创建和设计报表 399
15.7 部署报表服务 402
15.7.1 报表服务的部署模式 402
15.7.2 报表服务部署计划 404
15.7.3 复制报表服务器环境 406
15.8 访问报表 407
15.9 发布报表 408
15.10 管理报表服务 411
15.10.1 管理报表服务的要求 411
15.10.2 报表服务器管理工具 411
15.10.3 报表服务安装的备份和还原 413
15.10.4 报表服务器数据库 414
15.11 小结 416
第16章商业智能开发套件 417
16.1 概述 417
16.2 BIDS图形界面介绍 417
16.2.1 起始页 418
16.2.2 BIDS主界面 418
16.2.3 菜单 419
16.2.4 自定义环境、工具和窗口 421
16.3 生成BI解决方案 423
16.4 设计、开发和调试SQL Server Integration Services包 426
16.5 小结 436
第17章分析服务 437
17.1 概述 437
17.2 多维数据 437
17.3 数据挖掘 438
17.4 使用分析服务 440
17.5 小结 456
第18章集成服务 457
18.1 概述 457
18.2 复制和下载文件 459
18.2.1 FTP任务 460
18.2.2 文件系统任务 463
18.3 发送电子邮件以响应事件 467
18.4 管理SQL Server对象和数据 472
18.5 小结 476
第19章性能工具 477
19.1 概述 477
19.2 数据库引擎优化顾问 477
19.2.1 数据库引擎优化顾问图形用户界面(GUI)程序 478
19.2.2 dta实用工具 484
19.3 SQL Server事件探查器(SQL Server Profiler) 489
19.3.1 SQL跟踪 489
19.3.2 使用SQL Server事件探查器 490
19.4 小结 495
第20章配置工具 496
20.1 概述 496
20.2 报表服务配置管理器 496
20.3 SQL Server配置管理器 498
20.4 SQL Server错误和使用情况报告 500
20.5 SQL Server安装中心 501
20.6 小结 502
第 2 篇 交互提高篇
第21章提高查询性能 504
21.1 概述 504
21.2 建立索引以快速执行查询 504
21.3 用“数据库引擎优化顾问”来优化查询 509
21.4 其他提高查询性能方法 513
21.5 小结 514
第22章访问SQL Server 2008 516
22.1 配置服务器 516
22.2 访问SQL Server 519
22.3 远程访问 522
22.4 局域网中多个SQL Server 2008互联同步数据 524
22.5 项目实例:服务部就餐统计系统 526
22.6 小结 532
第23章SQL Server 2008与Office 2007集成 533
23.1 概述 533
23.2 SQL Server与Excel的集成 533
23.2.1 在Excel中使用SQL Server的数据 533
23.2.2 Excel数据转入到SQL Server 536
23.3 SQL Server 2008数据挖掘外接程序 541
23.3.1 Excel表分析工具 542
23.3.2 Excel数据挖掘客户端 550
23.3.3 数据挖掘Visio模板 556
23.4 使用SQL Server 2008和Office 2007
构造OLAP报表应用 561
23.5 小结 564
第24章Java与SQL Server 565
24.1 概述 565
24.2 使用JDBC与SQL Server进行交互 565
24.3 使用ODBC与SQL Server进行交互 567
24.4 项目实例:数字化图书管理系统 571
24.5 小结 579
第 3 篇 项目实战篇
第25章完整项目实例 581
25.1 概述 581
25.2 企业巡更考勤系统(B/S) 581
25.3 数字化图书管理系统(C/S与B/S结合) 598
25.4 小结 620
实例目录
例2-1 一次插入多行数据 27
例2-2 FORCESEEK提示 28
例2-3 使用CREATE TYPE语句创建用户自定义表数据类型 29
例2-4 使用表值参数 29
例2-5 使用MERGE在一张表上执行更新和删除操作 31
例2-6 新数据类型1 31
例2-7 新数据类型2 32
例2-8 新数据类型3 32
例2-9 设置系统数据类型 datetime2 32
例2-10 控制数据类型的精度 33
例2-11 新数据类型4 33
例2-12 经理和雇员之间的父子关系 33
例3-1 缩进代码 49
例3-2 查找特定部分顺序的存储过程 53
例3-3 使用自定义模板 54
例3-4 确定结束日期早于开始日期的工作订单 59
例4-1 创建未指定文件的数据库 75
例4-2 创建指定数据和事务日志文件的数据库 76
例4-3 删除单个数据库 77
例4-4 删除多个数据库 77
例4-5 删除数据库快照 77
例4-6 修改数据库名 78
例4-7 修改数据库所有者 79
例4-8 重建系统数据库 85
例8-1 备份到磁盘设备 159
例8-2 创建完整备份和差异备份 162
例8-3 数据合并 166
例8-4 通过OPENDATASOURCE查询表t1 166
例8-5 通过OPENROWSET查询表t1 166
例8-6 使用bcp 167
例8-7 通过SQL执行bcp 167
例8-8 数据转换 167
例8-9 查找孤立用户 170
例8-10 将用户名对应的登录名添加到syslogins中 170
例8-11 将用户名映射为指定的登录名 170
例8-12 解决dbo为孤立用户的情况 170
例8-13 还原数据库及差异数据库备份 173
例8-14 还原数据库及其差异数据库和事务日志备份 173
例8-15 事务日志还原到某个标记处 177
例8-16 还原完整数据库 179
例8-17 分离数据库1 183
例8-18 分离数据库2 183
例8-19 打开数据库主密钥 185
例8-20 对主密钥启用自动加密 185
例9-1 判断存储过程是否存在 201
例9-2 创建存储过程 202
例9-3 带有复杂SELECT语句的简单过程 205
例9-4 带有参数的简单过程 206
例9-5 带有通配符参数的简单过程 207
例9-6 使用OUTPUT参数的过程 208
例9-7 使用OUTPUT游标参数的过程 209
例9-8 使用WITH RECOMPILE选项的过程 210
例9-9 使用WITH ENCRYPTION选项过程 210
例9-10 创建带参数的储存过程 211
例9-11 在存储过程中使用游标 212
例9-12 在JSP中调用存储过程 216
例9-13 重命名存储过程 217
例9-14 修改存储过程test 218
例9-15 在Database Engine Query中删除存储过程 220
例9-16 删除扩展存储过程 220
例9-18 staffQuery.jsp 227
例9-19 创建存储过程kqOnDutyReport1 229
例9-20 创建存储过程SelectCDate1 230
例12-1 发送通知邮件 288
例12-2 INSTEAD OF触发器 288
例12-3 触发器中IF UPDATE应用 288
例12-4 虚拟表inserted和deleted 288
例12-5 创建触发器 289
例12-6 更新t2表中的数据 290
例12-7 查询某个数据库中的所有触发器 290
例12-8 使用SQL 语句查看触发器tg_sum的内容 291
例12-9 修改触发器的内容 292
例12-10 修改触发器名 293
例12-11 禁用触发器tg_sum 293
例12-12 删除触发器 294
例12-13 创建操作记录表 295
例12-14 在数据表上创建触发器 295
例12-15 创建类别表 295
例12-16 在类别表上创建触发器 296
例12-17 检测表t的第二列和第三列是否被修改过 299
例12-18 触发器回滚 300
例12-19 触发器回滚 301
例12-20 触发器回滚 301
例12-21 有条件的INSERT触发器 301
例12-22 创建proct_Insert触发器 302
例12-23 创建proct_Insert1触发器 302
例12-24 改变触发器次序 303
例12-25 使用Instead Of触发器 305
例12-26 包含错误处理函数的存储过程 307
例12-27 CATCH块捕捉错误 308
例12-28 TRY CATCH构造处理错误 308
例12-29 创建用户定义消息 309
例12-30 调用定义的错误消息 309
例12-31 创建用于保护数据库中的数据表不被修改和删除的存储过程 312
例12-32 创建用于保护当前SQL Server服务器里所有数据库不能被删除
的存储过程 312
例12-33 创建用来记录数据库修改状态的触发器 313
例12-34 判断库存数量是否为0 315
例12-35 使用inserted表 316
例12-36 员工就餐统计系统 317
例13-1 添加一个没有功能的作业 328
例13-2 添加一个具有寻呼、电子邮件和网络发送信息的作业 328
例13-3 修改作业 329
例13-5 更改原来存在的作业步骤 330
例13-6 删除原先存在的作业步骤 331
例13-7 从作业中删除关联服务器 331
例13-8 将作业指派给本地服务器 331
例13-9 将作业指派给不同的服务器 332
例13-10 启动作业 333
例13-11 更改作业的名称 334
例13-12 停止一个作业 335
例13-13 删除一个作业 336
例13-14 为警报添加电子邮件通知 337
例13-15 创建事件警报 340
例13-16 编辑警报 342
例13-17 删除警报 343
例13-18 设置操作员信息 345
例13-19 修改操作员信息 347
例13-20 删除操作员 348
例13-21 企业巡更考勤系统 350
例14-1 创建登录ID和默认数据库 358
例14-2 创建使用其他默认语言的登录ID 358
例14-3 创建带有特定SID的登录ID 358
例14-4 删除登录 358
例14-5 将Windows NT用户设定为SQL Server登录者 358
例14-6 拒绝Windows NT用户登录到SQL Server 359
例14-7 删除Windows NT用户的登录信息 359
例14-8 显示登录信息 360
例14-9 将用户添加到固定服务器角色中 361
例14-10 创建应用程序角色 365
例14-11 删除数据库中的应用程序角色 365
例14-12 修改应用程序角色的密码 366
例14-13 启用Guest用户 368
例14-14 启用/禁用登录名 368
例14-15 检查被禁用的登录名 368
例14-16 删除登录名 370
例14-17 创建数据库角色并添加用户 370
例14-18 判断当前用户 371
例14-19 删除用户及角色 371
例14-20 为数据库用户授予某种权限 371
例14-21 创建数据库用户 372
例14-22 撤销用户授权 372
例14-24 授予用户对表的操作权限 373
例14-25 收回赋予给某个用户的权限 374
例14-26 拒绝用户访问 374
例14-27 授予权限 374
例14-29 产生数据库主密钥 381
例14-30 产生密钥 382
例14-31 加密数据 382
例14-32 数据解密 383
例14-33 用RC4算法产生对称密钥 383
例15-1 报表服务器的URL示例 396
例22-1 查询当前连接所使用的协议 521
例22-2 使用连接字符串连接SQL Server 522
例22-3 创建一个链接服务器 526
例22-4 服务部就餐统计系统 526
例24-1 使用JDBC连接MS SQL Server 566
例24-2 使用ODBC数据源连接MS SQL Server 571
例24-3 数字化图书管理系统 571
例25-1 企业巡更考勤系统(B/S) 581
例25-2 数字化图书管理系统(C/S与B/S结合) 598
Ⅳ 请各位高手给我推荐几本数据库(sql server)书籍!
《中文版SQL
Server
2000开发与管理应用实例》
以前CSDN社区MS
SQL
Server版大版主
邹建
写的。虽然书是针对2000的,但是里面有很多经验之谈,如果懂得了基本的SQL知识可以看看。他的另一本书《深入浅出——SQL
Server
2005开发、管理与应用实例》没看过,不知道怎么样。
Ⅳ SQLServer数据库中成批导入数据的几个常用方法
在软件项目实施的时候,数据导入一直是项目人员比较头疼的问题。如要把产品信息从现有的进销存管理系统中导入到ERP系统中,却让企业用户手工的输入这些信息,不怎么现实。
其实,在SQL Server中本来就集成了很多成批导入数据的方法。有些项目实施顾问头疼的问题,在我们数据库管理员眼中,是小菜一碟。现在的重点就是,如何让用户了解这些方法,让数据导入变得轻松一些。
第一种方法:使用Select Into语句
若企业数据库都采用的是SQL Server数据库的话,则可以利用Select Into语句来实现数据的导入。Select Into语句,他的作用就是把数据从另外一个数据库中查询出来,然后加入到某个用户指定的表中。
在使用这条唯轮语句的时候,需要注意几个方面的内容。
一是需要在目的数据库中先建立相关的表。如想把进销存系统数据库(SQLServer)中的产品信息表(Proct)导入到ERP系统中的产品信息表(M_Proct)中。则前期是在ERP系统的数据库中已经建立了这张产品信息表。
二是这种方法只复制表中的数据,而不复制表中的索引。如在进销存系统数据中的产品信息表中,在产品编号、产品种类等字段上建立了索引。则利用Select Into语句把数据复制到ERP系统的表中的时候,只是复制了数据内容的本身,而不会复制索引等信息。
三是这条语句使用具有局限性。一般情况下,这只能够在SQL Server数据库中采用。不过胡山芦,对于SQL Server不同版本的数据库,如2008或者2003,还都是兼容的。若需要导入的对象数据库不是SQL Server的,则需要采用其他的方法。
四是采用这条语句的话,在目的表中必须不存在数据。否则的话,目的表中的数据会被清除。也就是说,这个语句不支持表与表数据的合并。在SQL Server中,有一条类似的语句,可以实现这个功能。这条语句就是:Insert Into。他的作用就是把另外一张表中的数据插入到当前表中。若用户想要的时表与表数据的合并,则可以采用这条语句。两者不能够混淆使用,否则的话,很容易导致数据的丢失。
五是以上两条语句都支持兼容的不同类型的数据类型。如在原标中,某个字段的数据类型是整数型,但是在目的表中这个字段的数据类型则是浮点型,只要这个两个数据类型本来就兼容的,则在导入的时候,数据库是允许的。
第二种方法:利用Excel等中间工具进行控制
虽然第一种方法操作起来比较简单,但是其也有一些缺点。如他只支持同一种类型的数据库;不能够对数据进行过多的干预等等。一般情况下,若用户原数据准确度比较高,不需要过多的修改就可以直接拿来用的话,则笔者就已采用第一种方式。
但是,若在原数据库中,数据的准确度不是很高,又或者,有很多数据是报废的。总之,需要对原数裤带据库的数据进行整理,才能够使用的情况,笔者不建议先导入进去,再进行更改。笔者在遇到这种情况时,喜欢利用Excle作为中间工具。也就是说,先把数据中原数据库中导到Excle中。有些数据库,如Oracle数据库,他不支持Excle格式。但是,我们可以把它导为CSV格式的文件。这种文件Excle也可以打得开。
然后,再在Excle中,对记录进行修改。由于Excle是一个很强的表格处理软件,所以,其数据修改,要比在数据库中直接修改来得方便,来得简单。如可以利用按时间排序等功能,把一些长久不用的记录清楚掉。也可以利用替换等功能,把一些不规范的字符更改掉。这些原来在数据库中比较复杂的任务,在Excle等工具中都可以轻松的完成。
等到表中的内容修改无误后,数据库管理员就可以把Excle表格中的文件直接导入到SQL Server数据库中。由于SQL Server与Excel是同一个父母生的,所以,他们之间的兼容性很好。在Sql Server中提供了直接从Excel文件中导入数据的工具。
虽然这要借助中间工具导入数据,但是,因为其处理起来方便、直观,所以,笔者在大部分时候都是采用这种方式。
第三种方式:使用数据转换服务导入数据
数据转换服务是SQL Server数据库中提供的一个非常强大的工具。在SQLServer中,数据转换功能有一个图形用户接口,用户可以在图形界面中导入数据,并对数据进行相应的我。
另外,数据转换服务还支持COM组件的编程接口。这也就是说,在前台应用程序开发的时候,可以直接调用数据转换服务。让用户通过前台应用系统,而不用在后台数据库系统进行任何的操作,就可以把数据导入数据库系统中去。在前台对数据库系统进行导入,有一个明显的好处,就可以预先对数据的合法性进行检查。如可以利用VB等脚本语言对数据进行检验、净化和一定的转换,以符合目的数据库的需要。
如在员工信息表中的婚姻状况字段,在Oracle数据库系统中,可能是用0或者1来表示婚姻状况。0表示未婚,1表示已婚。而在SQL Server数据库中,则利用Y或者N来表示婚姻状况。Y表示已婚,N表示未婚。在导入数据的时候,若直接把Oracle数据库表中的数据导入到SQL Server数据库中,因为婚姻状况这个字段存储的内容类型不同,所以,不能够直接导。遇到这种情况的话,则就可以在导入数据之前,先利用脚本语言对数据类型进行验证。若不符合要求的,则可以通过脚本语言对数据进行一定的转换,把0转换为N,把1转换为Y等等。
所以,有时候程序员在开发前台应用程序的时候,若要开发数据导入功能的话,我们都是建议采用这个数据转换服务。不但有现成的接口,而且,还可以对数据进行验证与一定程度的转换。另外,数据转换服务的数据导入效率非常的高。即使通过前台程序调用,其性能也比其他方法在同等条件下,要高一个档次。而且,随着数据量的增加,数据转换服务的优势会越来越明显。
不过,在前台应用程序调用数据转换服务的时候,需要注意。数据转换服务提供的COM接口比较复杂,所以,前台程序调用数据转换服务的代码也比较复杂。若再加上一些脚本语言的话,可能处理起来更加的繁琐。故一般只有在大型系统上才会用到这个接口。若数据不多,否则不需要复杂验证与转换的话,利用这个接口是大刀小用,得不偿失。
第四种方式:异构数据库之间的导入导出
虽然第二种、第三种方式都可以完成异构数据库之间数据的导入导出作业。考试.大提示在SQL Server中,还提供了另外一种解决方案。即直接在SQL Server数据库中连接到其他类型的数据库上,然后采用Select Into等语句实现数据的导入作业。
在SQL Server中,提供了两个函数可以帮助我们实现对非SQL Server数据库的连接。这两个函数分别为Opendatesource与Openrowset。他们的功能基本相同,只是在细节上有所差异。
如Opendatesource这个函数至能够打开源数据库的表和视图,而不能够对其进行过滤。若用户只想把源表中的部分数据导入到SQL Server数据库的表中,则不能对源表直接进行过滤。过滤的动作需要在SQL Server数据库中进行。而Openrowset这个函数,可以在打开对方数据库的表或者视图的时候,直接利用Where等条件限制语句对记录进新过滤。为此,在实际应用中,还是Openrowset这个函数使用的频率比较高。
不过由于其需要用户写复杂的参数,而且,又不能够提供复杂的数据验证功能,所以在实际工作中用的并不是很多。在一些小的应用系统中,偶尔还可以见到其的踪影。在一些大的成熟的商业软件中,很少采用这种方式,对数据进行导入。
有时候,选择多了,用户反而不知道如何下手。笔者平时最喜欢采用的是第二种处理方式。他比较直观,而且,可以对数据进行成批的更改与整理。但是,其缺陷就是效率比较低,特别是Excle软件对于处理大量记录的时候,速度比较慢。若这种方式行不通的话,则笔者比较倾向于采用数据转换的处理方式。这个操作起来虽然比较复杂,但是,其可以提供比较复杂的验证,而且可以在图形化的界面中对数据进行修改,同时效率也比较高。