【问题标题】:During upgrade, database raised exception 9002升级期间,数据库引发异常 9002
【发布时间】:2018-03-17 23:41:39
【问题描述】:

我正在尝试使用 Docker 在 Ubuntu 主机上运行 MSSQL 容器。容器启动,但在几秒钟内它崩溃了。

以下是指向文件系统或磁盘问题的容器日志:

2017-10-06 07:23:10.95 Server      Query Store settings initialized    
with enabled = 1, 
2017-10-06 07:23:10.99 spid6s      Starting up    
database 'master'. 
2017-10-06 07:23:11.00 Server      Software Usage    Metrics is disabled. 
2017-10-06 07:23:12.20 spid6s      The tail of    the log for database master is being rewritten to match the new    sector size of 4096 bytes.  3072 bytes at offset 418816 in file    /var/opt/mssql/data/mastlog.ldf will be written. 
2017-10-06    07:23:13.71 spid6s      Converting database 'master' from version 862    to the current version 869. 
2017-10-06 07:23:13.72 spid6s         Database 'master' running the upgrade step from version 862 to    version 863. 
2017-10-06 07:23:14.51 spid6s      Database 'master'    running the upgrade step from version 863 to version 864. 
2017-10-06    07:23:14.83 spid6s      Error: 17053, Severity: 16, State: 1.    
2017-10-06 07:23:14.83 spid6s      /var/opt/mssql/data/mastlog.ldf:    Operating system error 31(A device attached to the system is not    functioning.) encountered. 
2017-10-06 07:23:15.84 spid6s      Error:    928, Severity: 20, State: 1. 
2017-10-06 07:23:15.84 spid6s         During upgrade, database raised exception 9002, severity 17, state 0,    address 0000000484CD26DE. Use the exception number to determine the    cause. 
2017-10-06 07:23:15.86 spid6s      Error: 9002, Severity: 17,    State: 0. 
2017-10-06 07:23:15.86 spid6s      The transaction log for    database 'master' is full due to 'NOTHING'.

下面是我的docker配置

prashanthadiyodi@dev-ubuntu14:~$ docker info
Containers: 1
 Running: 0
 Paused: 0
 Stopped: 1
Images: 1
Server Version: 17.09.0-ce
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 12
 Dirperm1 Supported: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 06b9cb35161009dcb7123345749fef02f7cea8e0
runc version: 3f2f8b84a77f73d38244dd690525642a72156c64
init version: 949e6fa
Security Options:
 apparmor
Kernel Version: 3.13.0-129-generic
Operating System: Ubuntu 14.04.5 LTS
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 7.798GiB
Name: dev-ubuntu14
ID: FALX:S7M7:H6RN:7JQF:FZM7:ZL2T:RCRN:RGON:XYU6:WEEO:2JLC:TBAH
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false

WARNING: No swap limit support

我正在运行以下命令来启动容器

sudo docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=adi1982' -p 1433:1433 -d --name mssqlcon -v mydata:/data  microsoft/mssql-server-linux:2017-GA

请注意,我使用了不同的变体来指定要使用的数据分区,但没有运气。

需要社区的帮助以了解根本原因。

【问题讨论】:

  • 请编辑您的帖子并使用代码块获取您从终端粘贴的信息。日志和配置以其当前形式不可读,这使得任何人都难以帮助您。
  • @sergiu - 感谢您帮助编辑我的帖子
  • @user2709587 不客气 :)

标签: sql-server database docker docker-machine


【解决方案1】:

错误 9002

事务日志已满时会发生错误 9002。因此,您可能希望释放包含事务日志文件的磁盘驱动器上的磁盘空间。

请参阅:Troubleshoot a Full Transaction Log (SQL Server Error 9002)

检查密码要求

您的密码(例如adi1982)不符合complexity requirements。所以尝试添加非字母数字字符,例如感叹号 (!)。

查看日志

要检查错误,请运行:docker logs ID(其中 ID 是来自 docker ps 的容器 ID)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-31
    相关资源
    最近更新 更多