- 查询所有表行数及内容占用空间大小,
SELECT t.NAME AS TableName, p.rows AS RowCounts, SUM(a.total_pages) * 8 AS TotalSpaceKB, SUM(a.used_pages) * 8 AS UsedSpaceKB, (SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnusedSpaceKB FROM sys.tables AS t INNER JOIN sys.indexes AS i ON t.OBJECT_ID = i.object_id INNER JOIN sys.partitions AS p ON i.object_id = p.object_id AND i.index_id = p.index_id INNER JOIN sys.allocation_units AS a ON p.partition_id = a.container_id WHERE t.is_ms_shipped = 0 AND i.index_id IN (0, 1) GROUP BY t.Name, p.Rows ORDER BY TotalSpaceKB DESC;
- 与时俱进,在Linux下运行 SQLServer,
# 参考 # https://github.com/microsoft/mssql-docker # https://learn.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-docker?view=sql-server-ver16&tabs=cli&pivots=cs1-bash # # @SQLServer2019 是密码,记得改 docker pull mcr.microsoft.com/mssql/server:2019-latest docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=@SQLServer2019" -p 1433:1433 -v /mnt:/mnt --memory 3072M --name sql2019 -d mcr.microsoft.com/mssql/server:2019-latest
3. 常用语句
#1. 创建数据库 kingdee
CREATE DATABASE kingdee;
#2. 创建登录用户 kingdee
CREATE LOGIN kingdee WITH PASSWORD = 'kingdee', CHECK_POLICY = OFF;
CREATE LOGIN king_reader WITH PASSWORD = 'king_reader', CHECK_POLICY = OFF;;
#3. 将登录用户 kingdee 映射到数据库 kingdee 并设置为 dbo
USE kingdee;
CREATE USER kingdee FOR LOGIN kingdee;
EXEC sp_addrolemember 'db_owner', 'kingdee';
#4. 验证设置
USE kingdee;
SELECT name, type_desc, default_schema_name
FROM sys.database_principals
WHERE name = 'kingdee';