লিনাক্সে এসকিউএল সার্ভার প্রাথমিক স্টার্টআপে স্থির থাকে, কোনও ত্রুটি নেই এবং কোনও নতুন / আপডেট হওয়া ত্রুটিযুক্ত ফাইল নেই


11

আমি এসকিউএল সার্ভার 2017 ব্যবহার করছি, লিনাক্সে (উবুন্টু 16.04) প্রার্থী 2 (আরসি 2) প্রকাশ করুন।

সার্ভারটি শুরু হয়ে গেলে, এসকিউএল সার্ভারটি সাধারণত শুরু হয়। তবে কিছু কারণে এসকিউএল সার্ভার আর শুরু হবে না। কমপক্ষে আমি sqlcmd ব্যবহার করে এর সাথে সংযোগ করতে পারি না । আমি একটি ওডিবিসি টাইম আউট পেয়েছি ( "SQLLCd: ত্রুটি: এসকিউএল সার্ভারের জন্য মাইক্রোসফ্ট ওডিবিসি ড্রাইভার 13 ") ত্রুটি এখন প্রতিবার:

Login timeout expired.  
TCP Provider: Error code 0x2749.  
A network-related or instance-specific error has occurred while establishing a
connection to SQL Server. Server is not found or not accessible. Check if instance
name is correct and if SQL Server is configured to allow remote connections.
For more information see SQL Server Books Online..

যাইহোক, আমি যখন চালাচ্ছি:

ps aux | grep mssql

mssqlব্যবহারকারী দুটি sqlservrপ্রক্রিয়া চালাচ্ছেন তা দেখিয়ে আমি দুটি এন্ট্রি ফিরে পেয়েছি ।

এছাড়াও, errorlog ফাইল দ্বারা / var / অপ্ট / এমএস স্কুয়েল / log / একটি টাইমস্ট্যাম্প ম্যাচিং যখন আমি VM- র শুরু (অথবা সেবা পুনরায় চালু) আছে না কিংবা এখানে যে ফাইল যে কোন নতুন এন্ট্রি হয়।

এবং / var / লগ / বার্তাগুলিতে , যা প্রদর্শিত হয় তা হ'ল:

এটি একটি মূল্যায়ন সংস্করণ। মূল্যায়ন পিরিয়ডে [141] দিন বাকি রয়েছে।

যদি আমি দৌড়ে যাই systemctl status mssql-serverতবে আমি নিম্নলিখিতগুলি পাই:

Ss mssql-server.service - মাইক্রোসফ্ট এসকিউএল সার্ভার ডাটাবেস ইঞ্জিন
লোড হয়েছে: লোড হয়েছে (/lib/systemd/system/mssql-server.service; সক্ষম; বিক্রেতার প্রিসেট: সক্ষম)
সক্রিয়: ব্যর্থ (ফলাফল: প্রস্থান-কোড) সোমবার থেকে 2017- 09-04 20:01:56 বিএসটি; 36 সেকেন্ড পূর্বে
ডক্স: https://docs.microsoft.com/en-us/sql/linux
প্রক্রিয়া: 8009 এক্সিকিস্টার্ট = / অপ্ট / এমএসকিএল / বিন / স্ক্ল্যাসজারার (কোড = প্রস্থানিত, স্থিতি = 255)
প্রধান পিআইডি: 8009 (কোড = প্রস্থান করা হয়েছে, স্থিতি = 255)

Started Microsoft SQL Server Database Engine.  
This is an evaluation version.  There are [141] days left in the evaluation period.  
Stopping Microsoft SQL Server Database Engine...  
mssql-server.service: Main process exited, code=exited, status=255/n/a  
Stopped Microsoft SQL Server Database Engine.  
mssql-server.service: Unit entered failed state.  
mssql-server.service: Failed with result 'exit-code'.  

উত্তর:


15

এটি কাজ করার সময় সতর্কতা অবলম্বন না করার ক্ষেত্রে এটি শেষ হয়েছিল root

আমি SQLCLR লিনাক্স app.Config ফাইলের অ্যাক্সেস থাকবে মত উইন্ডোজ (ইন করে গবেষণা করা হয়েছিল দুঃখিতভাবে, এটা আছে না: লিনাক্স SQL সার্ভার 2017 অ্যাপ্লিকেশন কনফিগ ফাইল উপেক্ষা করে যদি উপস্থিত থাকে, বা কখনও কখনও লক-আপ যদি এটা doesn 'টি (এসকিউএলসিএলআর) ) এবং নির্দিষ্ট পরিস্থিতিতে এসকিউএল সার্ভার সম্পূর্ণরূপে লকআপ হয়ে যায়। যখন এটি হয়েছিল, এটি বন্ধ করার একমাত্র উপায় ছিল একটি কাজ kill -9করা sqlservr। আমি আবারও পরিষেবাটি শুরু করার সময়, আমি সরাসরি কাজ করে / অপ্ট / এমএসকিএল / বিন / স্ক্ল্যাভারসারের মাধ্যমে এবং যখন আমি কাজ করছিলাম root(তাই প্রক্রিয়াটি নিজেই মালিকানাধীন ছিল root)।

কোন আশু ত্রুটি বা বিজোড় আচরণ চলমান ফলে ছিল sqlservrযেমন root, কিন্তু VM- র পুনরায় আরম্ভ এবং SQL সার্ভার সঠিকরূপে আরম্ভ করার চেষ্টা (অর্থাত যেমন চলমান mssqlব্যবহারকারী) হলো, যখন এটি খুব প্রারম্ভে আটকে গিয়েছে।

আমি দেখেছি যে চলমান একটি সরাসরি ফল sqlservrহিসাবে rootছিল প্রথমেই / var / অপ্ট / এমএস স্কুয়েল / log / errorlog ফাইল (এবং কিছু অন্যদের উপর এসকিউএল সার্ভার শুরু নির্মিত) যে মালিক ছিল root(জ্ঞান করে তোলে)।

এবং, সেই ফাইলগুলির মালিকানার সরাসরি পরিণতি rootহ'ল প্রক্রিয়াটি যথাযথভাবে শুরু করা হলে (যেমন mssql), তখন mssqlব্যবহারকারীর ফাইলটি .1 এ শেষ করে নাম পরিবর্তন করার অনুমতি নেই (এবং অন্য যে কোনও কিছুতে ঘটতে হবে ফাইল, যেমন ডিফল্ট ট্রেস ইত্যাদি)। তবে অনুমতি ত্রুটি পাওয়ার পরিবর্তে এটি চিরতরে স্তব্ধ হয়ে যায়।

প্রাথমিক ফিক্সটি কেবল নিম্নরূপে চালানো হয় root(আমি এটি চালানোর চেষ্টা করি নি mssql)। নিম্নলিখিত দুটি কমান্ডের sudoজন্য কেবল তখনই প্রয়োজনীয় যখন এটি পাসওয়ার্ড প্রবেশ করানোর অনুরোধ জানানো পরে (অথবা আপনি নির্দিষ্ট করে থাকেন এমন কিছু ব্যবহারকারী ) হিসাবেroot অনুসরণ করা কমান্ডটি চালিত হবে as root-u usernameroot

sudo chown -R  mssql:mssql /var/opt/mssql

সেকেন্ডারি ফিক্স (এটি আবার না ঘটে তা নিশ্চিত করার জন্য), এসকিউএল সার্ভারটি সঠিকভাবে শুরু করা ;-):

sudo systemctl start mssql-server

1

পারমসটি সঠিকভাবে পেতে এবং স্মার্ট ত্রুটিগুলি পেতে আপনার কমপক্ষে নিম্নলিখিতটি প্রয়োজন ...

# make sure needed directories exist
sudo mkdir /var/opt/mssql /var/opt/mssql/.system /var/opt/mssql/data /var/opt/mssql/log

# this should be owned by mssql
sudo chown -R  mssql:mssql /var/opt/mssql
sudo chmod 770 /var/opt/mssql

# this should be owned by root
sudo chown -R root:root /opt/mssql
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.