php连接sql server 2014踩坑及处理记录

1.PDOException: SQLSTATE[42S02]: [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]对象名 'dbotest' 无效。

 使用thinkphp/ laravel连接sql server 提示上述错误,检查为设置了数据库前缀dbo,取消后读取正常,sql server 2014中表名前会自动加dbo,无需设置数据库前缀dbo,在SQL Server中,dbo是默认的架构名,代表“数据库所有者”(database owner)。

 

2.SQL Server2014“用户'testuser'登录失败,错误18456”问题

 1. 使用Windows身份验证登录数据库。

2.右键系统数据库名称,点击属性

3.打开“服务器属性”窗口,选择【安全性】,更改“服务器身份验证”,选择两种方式登录

 4.展开数据库服务器名—“安全性”—“登录名”, 右键自己新建的用户,选择【属性】。

5. 常规中设置好登录密码,点击确定后再选择【状态】,选择“登录”下面的【已启用】

 6.因为是测试数据库,服务器角色勾选sysadmin,确定

 7.右键数据库服务器名,选择重新启动使配置生效。

 8.重启后使用用户名、密码成功登录

 3.sql server 2014 生成数据字典

3.1进入sql server 2014 后,选择数据库,点击新建查询,输入如下查询语句执行

 

 3.2.执行如下查询语句

SELECT
(case when a.colorder=1 then d.name else '' end)表名,
a.colorder 字段序号,
a.name 字段名,
(case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) 标识,
(case when (SELECT count(*)
FROM sysobjects
WHERE (name in
(SELECT name
FROM sysindexes
WHERE (id = a.id) AND (indid in
(SELECT indid
FROM sysindexkeys
WHERE (id = a.id) AND (colid in
(SELECT colid
FROM syscolumns
WHERE (id = a.id) AND (name = a.name))))))) AND
(xtype = 'PK'))>0 then '√' else '' end) 主键,
b.name 类型,
a.length 占用字节数,
COLUMNPROPERTY(a.id,a.name,'PRECISION') as 长度,
isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as 小数位数,
(case when a.isnullable=1 then '√'else '' end) 允许空,
isnull(e.text,'') 默认值,
isnull(g.[value],'') AS 字段说明
FROM syscolumns a left join systypes b
on a.xtype=b.xusertype
inner join sysobjects d
on a.id=d.id and d.xtype='U' and d.name<>'dtproperties'
left join syscomments e
on a.cdefault=e.id
left join sys.extended_properties g
on a.id=g.major_id AND a.colid = g.major_id
order by a.id,a.colorder,表名
3.3、复制结果

 

 右键结果连同标题一起复制,粘贴到Excel表即可

 4.sql server 2014查看各个表数据条数

SELECT
t.name AS TableName,
SUM(p.rows) AS RowCounts
FROM
sys.tables t
INNER JOIN
sys.partitions p ON t.object_id = p.object_id
WHERE
t.is_ms_shipped = 0 -- 排除系统表
AND
t.name NOT LIKE 'dt%' -- 排除用于数据工具的临时表
AND
t.name NOT LIKE '[_]%[_]%' -- 排除特定模式的临时表
GROUP BY
t.name
ORDER BY
RowCounts DESC;

posted @ 2024-07-18 11:10  没用的阿吉是剑神  阅读(54)  评论(0编辑  收藏  举报