Monday, September 30, 2013

SQL Server 2008 R2 SSMS failed to install and complaining about Visual Studio 2008 SP1 should be installed

Recently, I have a developer asked me to help to install management studio on her laptop. Sure! How hard could it be? So I start as usual and installing the SSMS from the installation disc image.

In the middle of the installation, it stops. With the following error:

Given that, who on earth would be still using Visual Studio 2008!? Everyone moved forward to Visual Studio 2010 already. Something does make sense here... So, Yay!! It~~ is~~~ Google time!!

Did some research. This is, in fact, quite an old issue dated back to 2011 from most of the post I read. Note that most of the post reported that they haven't installed Visual Studio 2008 on their machine. Anyway, the solution is involved with registry key change, so make sure you have extract the registry for rollback purpose.

Firstly, you need to determine if you have a 32-bit or 64-bit OS. That will determine if you need to carry on with an additional step.

Next, let's check the following registry keys with the regedit. Make sure that the SP and SPIndex values are "1" and that the SPName is "SP1":

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\VC\Servicing\9.0
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\VC\Servicing\9.0\RED\1033

Now, if you have a 64-bit OS, this is extra that you need to go further. Similar deal, make sure that the SP and SPIndex values are "1" and that the SPName is "SP1":

  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DevDiv\VS\Servicing\9.0
  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DevDiv\VS\Servicing\9.0\VSR\1033

After all of this, just restart the installation again and this time the installation should be able to be completed. To credit the solution, here is the URL for reference: SQL Server 2008 R2 Management Studio install fails telling me to install Visual Studio 2008 SP1!. Thanks, Eric!!

Wednesday, September 25, 2013

Testing query permission with EXECUTE AS command

This post was formerly published at my beloved old blog "On the quest of a DBA's adventure......"

It is embarrassing to announce that you have created a super duper database object for your manager and then found out that they don't have permission to run it.

There is a good and easy way to check if your intended user have enough permission to call the newly created object you crafted for them. On the other hand, of course you can use this way to make sure those who should not be able to access is really cannot access to the object.

Simply, run the EXECUTE AS command before the query like following:

Then try to query a view or running a stored procedure, it will or not return result based on the database user permission.

Once you are finished with your testing, you can use REVERT command to get back to last credential before the EXECUTE AS command

SQL Trick KB: Function - How to check the datatype for a field or variable with T-SQL

This post was formerly published at my beloved old blog "On the quest of a DBA's adventure......"

Warning: This is not necessary useful - until you need it or in my case, to be honest, when you are getting too bored.

One day, I try to verify what datatype of a field that is used by a stored proceduce. Clicking through the GUI is too hard and un-cool. So, Google tells me how to achieve it. There is a built in function called SQL_VARIANT_PROPERTY and this is the reference to it: MSDN - SQL_VARIANT_PROPERTY (Transact-SQL)

How-to: Check cluster size configuration on an existing drive

This post was formerly published at my beloved old blog "On the quest of a DBA's adventure......"

One of the best practice that, when preparing for hard drives which SQL server is going to utilise for storing the data file, log file and tempdb files, DBA should ensure that these drives are format with cluster size to be set to 64kB instead of the default NTFS value, which is 4kB.  Here is the background: Disk Partition Alignment Best Practices for SQL Server.

OK, how about if you just start a new job and would like to do a sanity check on what are you facing?To check the cluster size of an existing drive, this is the command:

fsutil fsinfo ntfsinfo C:

This is what the output look like:

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.
C:\Windows\system32>fsutil fsinfo ntfsinfo C:
NTFS Volume Serial Number :      0x3cc4654e561810d1
Version :                         3.1
Number Sectors :                  0x000000001116389f
Total Clusters :                  0x000000000222c713
Free Clusters  :                  0x0000000000c2cccb
Total Reserved :                  0x0000000000000040
Bytes Per Sector  :               512
Bytes Per Physical Sector :       <Not Supported>
Bytes Per Cluster :               4096
Bytes Per FileRecord Segment    : 1024
Clusters Per FileRecord Segment : 0
Mft Valid Data Length :           0x0000000005e40000
Mft Start Lcn  :                  0x0000000000000004
Mft2 Start Lcn :                  0x0000000001116389
Mft Zone Start :                  0x0000000000005e40
Mft Zone End   :                  0x0000000000011020
RM Identifier:        B9CC8B49-4513-11E0-8641-806E6F6E6963

C:\Windows\system32>

The highlighted row is exactly what we are looking for, the cluster size of my C: drive is 4kB ( ie. 4 x 1024 btyes). I wish I would not see the same number when I run the command against the data and log file drive.....

Sanpshot replication dropped all my index

This post was formerly published at my beloved old blog "On the quest of a DBA's adventure......"

Just find out that the snapshot replication dropped all the index in the subscription database for some reason. I don't think this is intended, though it would make sense that if index is in place, it will slow down the bulk insert.

Update
Yes, snapshot replication will do that. Still trying to find out where Microsoft did document this information. It is making sense in every way excepts if it is documented somewhere, it will feel much better.

Monitoring replication with T-SQL

This post was formerly published at my beloved old blog "On the quest of a DBA's adventure......"

A developer asked that if there is anyway to monitor replication via T-SQL. I found a forum post which pointed me to Microsoft book online page - How to: Programmatically Monitor Replication (Replication Transact-SQL Programming). There are a number of system stored procedures which would cover the aspect related to Replication monitor.

Double hopping issue with the SSRS

This post was formerly published at my beloved old blog "On the quest of a DBA's adventure......"

Trying to troubleshoot double hopping issue with the SSRS. The problem is complicated when report services app server separated from the data source database. The authentication only fulfil at the client to the reporting server but then stop there, while another authentication is still necessary to authenticate between the app server to the database.

Got the integrated security works on SSRS. The after the work done on: (1) setting up the SPN for report server and SQL server, (2) setting up the delegation cross apply against the services account, (3) change the authentication method to Kerberos as first considered method in RsReportServer.config. It is then amazingly works.

Error alert - SSPI handshake issue

This post was formerly published at my beloved old blog "On the quest of a DBA's adventure......"

Try to look at the problem on the SSPI handshake issue. The following error message was reported from time to time:

“"SSPI handshake failed with error code 0x80090311 while establishing a connection with integrated security; the connection has been closed"”

Checked on Google, there are a number of forum posts pointing the problem may resulted from that 0x80090311 error refers to "No authority could be contacted for authentication" which means the user cannot contact AD to get a Kerberos ticket. Let check with my network admin buddy to see if anything to do with AD and Kerberos. It is not necessary something you can rectify here, because it could be the user just ignore the password policy in regards to password change and Kerberos just has enough with their neglect and kick them off.

Here are some articles on Kerberos troubleshooting:
Forum post on SQL Server 2005 connection problems from SQL Server Central
Blog post on Kerberos Adventures - Useful Information Links from Michael Stephenson's blog
Blog post on Troubleshoot Connectivity Issue with SQL Server Express 2005 from MSDN Blog - SQL Protocols

Printing from SSRS. The administrator is scatching his head until this is found...

SSRS printing? Why does it has to be that troublesome? The problem is when user needs to print the rendered report, they need to install an ActiveX component from the SSRS, namely the RSClientPrint.cab. To install this module, you need, of course, administrator right. {facepalm, nice work MS}. Here is a silent deployment guide, found on the blog Kodyaz Development Resources, which takes care of it this way (it is more detail on Eralper's blog, the following is summarised for my env.):

RSClientPrint.cab is a Microsoft ActiveX control that provides client side printing for Microsoft SQL Server Reporting Services reports.

If the print command is being run for the report server by that user's client machine then the client request the RSClientPrint.cab download from the related Report Server. While downloading the ActiveX software the browser will promt the user whether the software will be installed or not considering the security issues. Again, it is necessary to note that administration permissions are required for downloading and installing the rsclientprint ActiveX. For RSClientPrint install, RSClientPrint.cab download is the first step in installing the ActiveX on IE browser.

In most companies the Information Technology policies do not grant the admin privileges to the end users. So the end users running on the client computers can not download and install the ActiveX print client file RSClientPrint.cab. So it is a need for the IT departments to distribute this client side printing ActiveX control in order to support their clients to work with SQL Server Reporting Services (SSRS) without a problem.

The default bin folder of the ReportServer 2008 where new RSClientPrint-x86.cab, RSClientPrint-x64.cab or RSClientPrint-ia64.cab ActiveX file download can be found at :

C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\bin

For a silent deployment of RSClientPrint.cab, you only need to distribute RSClientPrint.dll file and the .rll files. If you copy the files listed below under the folder C:\WINNT\system32 for client computers.

RSClientPrint.dll
RSClientPrint_1028.rll
RSClientPrint_1031.rll
RSClientPrint_1033.rll
RSClientPrint_1036.rll
RSClientPrint_1040.rll
RSClientPrint_1041.rll
RSClientPrint_1042.rll
RSClientPrint_1043.rll
RSClientPrint_1046.rll
RSClientPrint_1053.rll
RSClientPrint_2052.rll
RSClientPrint_3082.rll

Register the RSClientPrint.dll dll file by running the regsvr32.exe command on the command prompt shown as below.

c:\regsvr32.exe /s
c:\winnt\system32 \rsclientprint.dll

So, if a script or an MSI file that copies the listed files above and registers the rsclientprint.dll will be enough to deploy the Reporting Services Client Side Printing functionality.

After the installation of the RSClientPrint is successfully done, the Print dialog box is displayed as shown below. You will realize that the Print options is very similar to standart Print dialog boxes that run on Windows systems including preview, number of copies, print range, printer selecting from available printers, etc.

How-To: Linked Server

This post was formerly published at my beloved old blog "On the quest of a DBA's adventure......"

Thanks to Derek Dieter, he puts up a post on How to Add a Linked Server. Very simple and straight forward.

What my problem is that I keep forgetting that when you are setting up a linked server which is another SQL Server, make sure that "Other Data Source" is chosen for the "Server Type" option instead of "SQL server". Rare, isn't it? I have so many times thought let's use the option "SQL Server" since it is natively a SQL server target. But it is always failed on me, until I refered back to Derek's post.

Convert binary to varchar and back

This post was formerly published at my beloved old blog "On the quest of a DBA's adventure......"

Over a migration project for Pivotal data, I was asked to keep the primary key for the record migrated. In Pivotal world, default keys are in binary(8) type, but the requirement was set that legacy key should be kept in varchar for the majority of the legacy system.

So, our topic here is: Can we convert binary into varchar, back and forward? we keep it which means we will, or may, or we have no idea if (more likely) we need back at some stage later on.

I have some rearsch, this is what I found:

Let them resolve themself - how to let developers to kill their own mess

This post was formerly published at my beloved old blog "On the quest of a DBA's adventure......"

From time to time (well, usually when you are bloody damn busy...),a developer will approach over slowly with a bright red face. You know instinctly that it is one of those moment - "Ah...Hey, how are you going? well can you help me to kill my little query-gone-wild in Dev, please?". I haven't heard these developers talking nice to me in usual. So, the golden rule of thumb is, the nicer they are, the dumber stupid query they just hit with F5.....

Anyway, I am a really busy fellow and it is really fine to let them kill themselves instead of me helping everyone of them to put a bullet to their..... process :-). Here is what you do to help them. One can kill a session and all one requires is the ALTER ANY CONNECTION permission. Remind you that make sure your manager is OK with that kill permission in dev \ testing.

Noted that ALTER ANY CONNECTION is included with membership in the sysadmin or processadmin fixed server roles.

Now, go and kill it yourself at that corner and don't come to bother me.......

Tuesday, September 24, 2013

Between SQL Server and Oracle - Find open transaction

This post was formerly published at my beloved old blog "On the quest of a DBA's adventure......"

As a DBA, you will find yourself, from time to time, tidying up someones else mess. Transactions that left open and forgotten is one of my usual, like my developers are making fun out of me with opened transactions here and there...

In SQL Server

In Oracle

Fix log shipping when the primaray database does not exist anymore

This post was formerly published at my beloved old blog "On the quest of a DBA's adventure......"

Naughty Me. While I am changing the database name from DB1 to DB_PROD1 (yep it's not real database name ^v^), I changed the database name and notify my application fellow that I am done here. They turn on the application, everything is working. Few minutes later, alerting emails start to flood my phone - Hi there, Log Shipping is broken......... OOOooo, Shxt. I should turn off log shipping first. Shame on me.

So, What's next? Application is back online so it is no turning back. Here is what can be done to rectify the messy situation. Try to research on what to do and then this MSDN URL come through

How to: Remove Log Shipping (Transact-SQL)

So firstly, connect to the primary database server to break the relationship between the primary and secondary database. It is done by running the built-in stored procedure named sp_delete_log_shipping_primary_secondary, here's the example:

Easily done without hassle. Then, connect to the secondary server and remove the log shipping job information with the stored procedure named sp_delete_log_shipping_secondary_database, again here is the code:

Done. Then, it's time to do this the other way around. Connect to the primary server and remove the log shipping job information with the stored procedure named sp_delete_log_shipping_primary_database, here is the example:

Up to this point, you have kill the log shipping job at both end. Great, but hang on, email is still flooding in. Have you set up witness server to monitor logshipping? OooooK. Yes, you need to remove some entries on the monitoring server as well. First, note down the primary job ID and the secondary job ID like the following:

Once you got the IDs noted, go to delete them from the tables:

At this point, you are clean of ex-log shipping relationship. The past should be at your back and now remember to set up log shipping again for the new database.

SQL Trick KB: Algorithm - Convert seconds in into Hours:Minutes

This post was formerly published at my beloved old blog "On the quest of a DBA's adventure......"

Here is just a knowledge capture so I that I don't need to think about it from scratch again.

A BI developer buddy comes to me for help with converting a data field, which is in seconds, into something more user-friendly, Hours:Minutes. Thought it would be supper easy task but when I claw further toward the goal, I find it is a bit of work than just maths.

Here is the code:

Enable developers to run SQL trace in DEV environment without the sysadmin role

This post was formerly published at my beloved old blog "On the quest of a DBA's adventure......"

My developers have asked me to enable them to run SQL Server Profiler on their DEV instance. To enable them to do their job, I am along with them to give them the ability to diagnose their issue.

In the past, before SQL Server 2005, one would need sysadmin role to run trace with SQL Server Profiler. Microsoft does listen to user and realise that developers are more likely need the ability to diagnose issue that they created and DBAs are the busy breed which are too busy to just sit there and run a trace with a developer now and then. So, they make the premission requirement more granular, and this is how to give someone permission to run SQL Server Profile without sysadmin role:

This helps to make friends between DBA team and developers. NICE!! Thanks to Microsoft.

Reference
Permissions Required to Run SQL Server Profiler
From MSSQLtips.com - How to Grant Permissions to run SQL Server Profiler for a non System Admin User

Query Active directory from SQL Server

This post was formerly published at my beloved old blog "On the quest of a DBA's adventure......"

Thanks to the sharing from Eralper YILMAZ at http://www.kodyaz.com/, I found this article very interesting and useful. Before I read about this method, I have never imagined that one can query the LDAP directory from SQL and this is URL to the original article.

Running Active Directory Services Queries Using MS SQL Server T-SQL OPENQUERY Command

In summary, you need to enable the instance-level option 'Ad Hoc Distributed Queries' and setup a linked server toward the AD object (Hope I am using the right terms here).

Then, you can magically start to query the AD, like the following SQL statement:

Note that there are some other blog suggested to limit the number of result returned by WHERE clause or the TOP clause if your directory has over 1000 entries.

Also to explore more attribute from the AD, here is good reference to find out what attribute is in Active directory's LDAP schema - Reading LDAP Directory Object Attributes

SQL Trick KB: Algorithm - Last date of the month

This post was published at my beloved old blog "On the quest of a DBA's adventure......"

".... Hang on. How hard could it be? "

In a quiet afternoon a while ago, I was enjoying the challenge from a T-SQL quiz question. It asked how to get the last date of the month for a given date, say for reporting purpose. I thought: ".... Hang on. How hard could it be?". It successfully occupied me mentally for an hour.

The main deal is that the last day of a month is not necessary in a regular pattern. It could be 30, 31, ..... 28, or even 29. It all depends on which month and which year you are talking about. I was thinking to take the given date and disassemble it, took the month and make up the first day then subtract 1 day... too complex,really.

Inspired by Pinal Dave's blog post SQL SERVER – Query to Find First and Last Day of Current Month . Here is the code:

It returned a list of the error in different languages. If you are lucky, you now know what they mean. OK, it is not "world-savingly" great, but it may be a little step forward to the solution at least.

Here's a different approach to get last day of the month for a given date

SQL Server Configuration Manager – The server threw an exception. [0x80010105]

This post was formerly published at my beloved old blog "On the quest of a DBA's adventure......"

Whilst trying to fix another issue with SQL Server, I came across this roadblock.

When I opened SQL Server 2008 R2 – SQL Server Configuration Manager, the right hand pane had the following error “The server threw an exception. [0x80010105]”.

After some research I found Qiao Weilin’s answer on MSDN. The solution was quite simple - Restart the “Windows Management Instrumentation” service. What? WMI has screwed itself? Yeah. OoooK. So, it could be quickly fixed by Start -> Run -> “Services.msc”, scroll down to “Windows Management Instrumentation”, right-click and “Restart”. Now you’ll have to close and re-open the SQL Server Configuration Manager, and you should now see a full list of SQL Server Services.

But what does exactly happen? Will it happen again? In short, yes. After some research on why this happened, I came across a number of  blog posts (some of those are not SQL Server related issue) which are all pointing their finger toward WMI. Apparently, WMI component may chew too much memory in a super slow manner or say, memory leak. This could take weeks, or even months, to shows up the symptom. Typically you can find this similar error message on the event log:

Log Name: Application
Source: Application Error
Date: 28/03/2011 2:29:23 AM
Event ID: 1000
Task Category: (100)
Level: Error
Keywords: Classic
User: N/A
Computer: SomeSQLServer.SomeDomain.com
Description:
Faulting application name: wmiprvse.exe, version: 6.1.7600.16385, time stamp: 0x4a5bc794
Faulting module name: ole32.dll, version: 6.1.7600.16624, time stamp: 0x4c2984e3
Exception code: 0xc0000005
Fault offset: 0x00000000000393a9
Faulting process id: 0x39c0
Faulting application start time: 0x01cbec1ae56bf838
Faulting application path: C:\Windows\system32\wbem\wmiprvse.exe
Faulting module path: C:\Windows\system32\ole32.dll Report Id: fd7b71e2-5886-11e0-a7af-005056a30040

Apparently MS has come up with a hot-fix for the issue and this hot-fix is now included in the Windows Server 2008 Service Pack 1 as well. Here is the reference:

WMI leaks memory on Server 2008 R2 monitored agents

Hotfix: The "Win32_Service" WMI class leaks memory in Windows Server 2008 R2 and in Windows 

Monday, September 23, 2013

Hi, can you grant me the permission to use the Transact-SQL Debugger?....... NO.

This post was formerly published at my beloved old blog "On the quest of a DBA's adventure......"

One day, a developer comes over to my desk. He starts with

Developer: Hi there, it would be nice if I can use the Transact-SQL Debugger built inside the Management Studio. Can I have that?

Me: What is stopping you from using it? it works fine at my end....

Developer: Well, the server compliant on EXECUTE permission on the stored procedure called "sp_enable_sql_debug".

Me: Really? let me have a look......

My friends, Transact-SQL Debugger is a good tool for developer to debug their TSQL work; And yes, it is a tools designed for developer, for development. The idea that to use the tool in the production is quite evil indeed because of the requirement in order to use it. Here is the link listed the Microsoft's requirement for the debugger to work: Configuring the Transact-SQL Debugger

Look at the bottom, it said:

Requirements for Starting the Debugger

All attempts to start the Transact-SQL debugger must also meet the following requirements:

  • SQL Server Management Studio or SQL Server Data Tools must be running under a Windows account that is a member of the sysadmin fixed server role.
  • The Database Engine Query Editor window must be connected by using either a Windows Authentication or SQL Server Authentication login that is a member of the sysadmin fixed server role.
  • The Database Engine Query Editor window must be connected to an instance of the Database Engine from SQL Server 2005 Service Pack 2 (SP2) or later. You cannot run the debugger when the Query Editor window is connected to an instance that is in single-user mode.

Well, it may be because Microsoft's design principal dictates that no debugging should happen in production. Now, thanks to Microsoft, I can't make friend with developers.

Thursday, September 19, 2013

Audit on SQL login for when the last password change date

This post was formerly published at my beloved old blog "On the quest of a DBA's adventure......"

One day, my system accountant comes over to ask me for help. He was hassled by an external auditor who required him for proof on when was the last password change on the finance system service account. Well, for domain account password change, one could find it out by looking at the attribute editor of the entity. However, since Microsoft still have the SQL authentication option available, the SQL logins are still alive and as a result, you would scratch your head on where to get this sort of information.

Well, I found the following built-in security function is pretty handy for my situation.

Syntax

There is a number of option, which is pretty self-explained, on what could you find out for a given login:

  • BadPasswordCount
  • BadPasswordTime
  • DaysUntilExpiration
  • DefaultDatabase
  • DefaultLanguage
  • HistoryLength
  • IsExpired
  • IsLocked
  • IsMustChange
  • LockoutTime
  • PasswordHash
  • PasswordLastSetTime

For my case, I do the following query for my friend:

Now, he can tell the auditor down to the seconds on when he changed the password!! Another happy customer.....

Here is the reference from MSDN - LOGINPROPERTY (Transact-SQL)

How to locate SQL servers on your network?

This post was formerly published at my beloved old blog "On the quest of a DBA's adventure......"

In a risk assessment meeting, our security manager has asked me to try to being "naughty" - By pretending to be a hacker and see if I can get into any SQL server on the network. So, I pretend I didn't know much about my network topology (Well, that seems to be the hardest part...) and try to first find SQL server on the network and then hack it.

To accomplish the task, I need to first locate my SQL server on the LAN. I come across Pinal Dave's blog entry regarding to how to locate MS SQL Server on local network. This can be done as simple as just use the command-line command "osql", or its later version "sqlcmd". Here is the example:

or

With the capital L switch, it lists all the SQL Server on local network. Now you could see that your first defense could simply be the segmentation of the server subnet from the evil, dirty, sick-minded local user subnet.....

Allow someone else to run SSIS package without sa right

This post was formerly published at my beloved old blog "On the quest of a DBA's adventure......"

How to enable developers to develop their SSIS package without giving them the SA right? You need to be a part of db_ssisdbadmin role in MSDB database. Provide the db_ssisdbadmin role to the user or group and that’s almost all you need. (folder permission to the C:\Program Files\Microsoft SQL Server\100\DTS\Packages or they will have trouble to deploy the package into that folder)

MSDB > Security > Role > Database Roles > DB_ssisadmin

After adding windows account to this role, either you can use SSIS installation wizard or DTUTIL to deploy the packages.

Wednesday, September 18, 2013

Let's look at the list of error messages you can possiblely get from SQL server

This post was formerly published at my beloved old blog "On the quest of a DBA's adventure......".

This is an old school stuff. I came across this system table named sysmessage when I exploring the system table set in a boring afternoon. This single table just opens up my eyes.

Every single possible error message (there are total 8901 error messages) from MS SQL Server that you can get, along with their error ID and its severity level in 11 different languages (like Japanese, Chinese, German,French and etc.). Wow, amazing. Any practical use? Not valuable to everyone, but I can think of one practical use.

Imagine, if you need to support overseas branched or campuses. Not every single individual can speak your language perfectly, after all Great Britain did never conquer the whole world so stop expecting everyone can speak English (it is like you want all programmer to code in C#). Also, server configuration in different country may end up error message in different languages.

While troubleshooting an application issue, your colleague has tried their best to translate what error message they received. Say they failed, they can't communicated with you. You could try to ask them for the error number for the error message. With this following query, say error id is 21:

It returned a list of the error in different languages. If you are lucky, you now know what they mean. OK, it is not "world-savingly" great, but it may be a little step forward to the solution at least.

Tuesday, September 03, 2013

ORACLE - Checking the permission for directory objects

I came across a few application issues which related to the use of the Oracle directory objects in a few business functions, mainly you could come across one when there is functional requirement to import or extract data from or into file. It is basically a pointer to enable the Oracle database DBMS to access to the folder on the server. I usually find that the majority number of issue is, the user may not have the correct permission granted to access the directory objects and that is the most easiest thing to rectify.

To check if what permission has been granted for a given directory objects, you can use the following query:

Reference
Stackoverflow - Check rights on directory in Oracle

Imported from my old blog On the quest of a DBA's adventure......

How to extract msu/msp/msi/exe files on the command line

I came across a situation that I need a tiny file (12kB) from a Windows drive kit installer (960MB). Try to find out how to get this tiny screw out without installing the big giant, then I look into the following post at WindowsWiki.

Microsoft Hotfix Installer (.exe)

setup.exe /t:C:\extracted_files\ /c

Microsoft Update Standalone Package (.msu)

expand -F:* update.msu C:\extracted_files
cd extracted_files
expand -F:* update.cab C:\extracted_files

Microsoft Patch File (.msp)

msix patch.msp /out C:\extracted_files
Note: You need to download the msix utility: msix.zip

Windows Installer Package (.msi)

msiexec /a setup.msi /qb TARGETDIR=C:\extracted_files

Imported from my old blog On the quest of a DBA's adventure......

Monday, September 02, 2013

Useful Links......

This is a list of useful links. Therefore, it mean to be updated from time to time.